По существу, есть список JSON объектов с именем subfolders
, который должен содержать информацию из 2 файлов - 1 из списка с именем json_files
, а другой хранится в списке с именем table_files
.
Информация от json_files
и table_files
должна включаться по одному разу в каждом объекте JSON.
Пока что я могу вывести оба моих списка JSON объекты и информация, которая должна храниться в этих объектах отдельно, но не может сделать это вместе в нужном мне формате, что является проблемой.
Мой код для вывода списка subfolders
:
subfolders = [ f.path for f in os.scandir(rootdir) if f.is_dir() ]
subfolders = [sub.replace(rootdir + '\\', '') for sub in subfolders]
obj = { conf_name:{} for conf_name in subfolders }
with open('summary.json', 'w') as f:
json.dump(obj, f, indent=2)
Мой код для вывода информации json_data
и table_data
, которая должна храниться в подпапках:
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])
combined = []
for j, t in zip(json_data, table_data):
combined.append(j)
combined.extend(t)
with open('summary.json', 'w') as f:
json.dump(combined, f, indent=2)
Желаемый вывод:
{
"subfolder1": {
"json_data": "{content from first json_data file in list}"
"table_data": "content from first table_data file in list"
},
"subfolder2": {
"json_data": "{content from second json_data file in list}"
"table_data": "content from second json_data file in list"
}
}
Таким образом Мне интересно, как я могу объединить все вместе, чтобы получить нужный мне формат. Спасибо за любую помощь, спасибо.
РЕДАКТИРОВАТЬ: для получения списка 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))