Пробовал то же самое с 2 простыми списками - list1 = [1,2,3]
и list2 =['a','b','c']
, и код работает нормально.
Я извлекаю информацию о файлах как из файлов .json
, так и из файлов .list
и добавив эти данные в списки json_data
и tables_data
соответственно.
Мне нужно создать следующий формат вывода:
{
"item1": {
"json_data": "jsonfile1",
"list_data": "listfile1"
},
"item2": {
"json_data": "jsonfile2",
"list_data": "listfile2"
}
}
Однако мой код выводит информацию только из последние файлы в json_data
и tables_data
по какой-то причине, несмотря на добавление новой информации. Я также проверил длины обоих этих списков, поэтому похоже, что информация также добавлена правильно.
Вот что я пытаюсь:
json_files = []
table_files = []
for subdir, dirs, files in os.walk(rootdir):
for file in files:
if file.endswith(".json"):
json_files.append(os.path.join(subdir, file))
if file.endswith(".list"):
table_files.append(os.path.join(subdir, file))
json_data = []
for i in json_files:
with open(i) as f:
json_data.append(json.load(f))
table_data = []
for i in table_files:
with open(i) as f:
table_data.append([line.rstrip('\n') for line in f])
my_dict = {
subdir: {
"json_data": j,
"table_data": t,
}
for (j, t) in zip(json_data, table_data)
}
with open('summary.json', 'w') as f:
json.dump(my_dict, f, indent=2)
Любая идея о том, что здесь не так и что мне нужно сделать, чтобы это исправить?