我尝试为绘图进行输入。我有一些内容(如年份,分辨率...(的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文件,您正在读取该文件并将年份附加到年份列表中。当您在每个目录之后打印时,只需附加一年,列表就会被打印出来。 尝试在外循环之后打印列表。
对不起,如果我没有正确理解这个问题。