Я пытаюсь сделать ввод для графиков. У меня есть файлы 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)