Yaml内容解析并从中制作列表 - 出错(Python 3.x)



我尝试为绘图进行输入。我有一些内容(如年份,分辨率...(的yaml文件,我想做一个列表,其中包含我所有想要的yaml文件中的"年",然后我稍后会将其用作绘图的输入。

列表应如下所示:[2010、2011、2013,...]

但是我的代码给了我这个列表

[2014年]

[2014年、2015年]

[2014, 2015, 2015]

我认为问题在"为"周期中的某个地方?

这是代码:

import glob
import yaml
pdb_codes = ['3J7Z', '3J9Y', '3J9Z', '3JA1', '3JBU', '3JBV'] #just example of few, there are many more
years = []

for codes in pdb_codes:    
# get directories
directories = glob.glob("../../../../DATA/{}/" .format(codes))
# sort directories because the glob method yields them unordered
directories_sorted = sorted(directories)
# browse directories
for directory in directories_sorted:
pdb_code = directory.split("/")[-2]   
yaml_name = directory + pdb_code + ".yaml" 
with open(yaml_name) as stream:
yaml_content = yaml.load(stream, Loader=yaml.FullLoader)
year = yaml_content["Year"]
years.append(year)
print(years)

根据代码,我的理解是每个目录中只有一个yaml文件,您正在读取该文件并将年份附加到年份列表中。当您在每个目录之后打印时,只需附加一年,列表就会被打印出来。 尝试在外循环之后打印列表。

对不起,如果我没有正确理解这个问题。

相关内容

  • 没有找到相关文章