У меня есть несколько статических ключевых столбцов EmployeeId, type и несколько столбцов, поступающих из первого цикла FOR.
В то время как во втором цикле FOR, если у меня есть определенный ключ, только значения должны добавляться к существующим столбцам фрейма данных, в противном случае столбцы, извлекаемые из первого цикла for, должны оставаться неизменными.
First For Loop Output:
"EmployeeId","type","KeyColumn","Start","End","Country","Target","CountryId","TargetId"
"Emp1","Metal","1212121212","2000-06-17","9999-12-31","","","",""
После второго цикла, у меня есть вывод ниже:
"EmployeeId","type","KeyColumn","Start","End","Country","Target","CountryId","TargetId"
"Emp1","Metal","1212121212","2000-06-17","9999-12-31","","AMAZON","1",""
"Emp1","Metal","1212121212","2000-06-17","9999-12-31","","FLIPKART","2",""
Согласно коду, если у меня есть доступный тег Employee, у меня есть более 2 записей, но у меня может быть несколько файлов json без тега Employee, тогда выходные данные должны оставаться такими же, как в первом выводе цикла.
Но я получаю 0 записей в соответствии с моим кодом. Пожалуйста, помогите мне, если мой способ кодирования неправильный.
Действительно, извините - Если способ задать вопрос не ясен, так как я новичок в python. Пожалуйста, найдите код в гиперссылке ниже
Пожалуйста, найдите ниже код
for i in range(len(json_file['enty'])):
temp = {}
temp['EmployeeId'] = json_file['enty'][i]['id']
temp['type'] = json_file['enty'][i]['type']
for key in json_file['enty'][i]['data']['attributes'].keys():
try:
temp[key] = json_file['enty'][i]['data']['attributes'][key]['values'][0]['value']
except:
temp[key] = None
for key in json_file['enty'][i]['data']['attributes'].keys():
if(key == 'Employee'):
for j in range(len(json_file['enty'][i]['data']['attributes']['Employee']['group'])):
for key in json_file['enty'][i]['data']['attributes']['Employee']['group'][j].keys():
try:
temp[key] = json_file['enty'][i]['data']['attributes']['Employee']['group'][j][key]['values'][0]['value']
except:
temp[key] = None
temp_df = pd.DataFrame([temp])
df = pd.concat([df, temp_df], sort=True)
# Rearranging columns
df = df[['EmployeeId', 'type'] + [col for col in df.columns if col not in ['EmployeeId', 'type']]]
# Writing the dataset
df[columns_list].to_csv("Test22.csv", index=False, quotechar='"', quoting=1)
Если тег сотрудника недоступен, я получаю 0 записей в качестве выходных данных, но я ожидаю 1 запись в соответствии с выходными данными первого цикла FOR. Если «тег сотрудника» доступен, то я ожидаю 2 записи вместе с моими статическими столбцами «EmployeeId», «type», «KeyColumn», «Start», «End», иначе, если тег недоступен, тогда все статические столбцы «EmployeeId», «тип», «KeyColumn», «начало», «конец» и оставшиеся столбцы в качестве пробелов
введите описание ссылки здесь