[英]How to make multi columns with different rows for each columns
我目前被阻止,因为我想制作一个CSV
文件,其中我的第一列只填充键,第二列填充我的值和标题。 像这样 :
我的 JSON 测试文件:
{
"name":"<customer>_<datetime>.zip",
"status":"OK",
"lib_status":"SUCCESS",
"ID":" ",
"ID_emitter":"<customer>",
"recipient":" ",
"validator":{
"sender_email_address":"example@example.com",
"sender_email_address_no_reply":"example@example.com"
},
"connexFileList":[
{
"connexFile":"<customer>_<datetime>",
"type":"json"
}
],
"PReS":{
"domain":" ",
"client":" ",
"inputFlowList":[
{
"inputFile":" ",
"type":" ",
"status":" "
}
]
}
}
我目前的代码:
import json
import pandas as pd
with open('test.json') as f:
json_dict = json.load(f)
name = json_dict['name']
status = json_dict['status']
lib_status = json_dict['lib_status']
ID_emitter = json_dict['ID_emitter']
for connexFileList in json_dict['connexFileList']:
connexFile = connexFileList['connexFile'],
type2 = connexFileList['type']
for PReS in json_dict['PReS']['inputFlowList']:
inputFile = PReS['inputFile']
type3 = PReS['type']
status2 = PReS['status']
raw_data = {
"firstitem": [name, status, lib_status, ID_emitter, '', '', '', '', ''],
"connexFileList": ['', '', '', '', connexFile, type2, '', '', ''],
"PReS": ['','','','','','', inputFile, type3, status2],
}
df = pd.DataFrame(raw_data,
index=pd.Index(['name :', 'status :', 'lib_status', 'ID_emitter',
'connexFile','type','inputFile', 'type', 'status']),
columns=pd.Index(['firstitem', 'connexFileList', 'PReS'])
)
df.to_csv('test.csv', sep=";")
但这不是我想要的CSV
,并且带有[' ', ' ',...]
的 raw_data 并没有真正优化......我认为解决方案是pd.MultiIndex
或pd.Series
但我没有知道如何在我的代码中应用这两种解决方案。
试试这个:
raw_data = {
"firstitem": [name, status, lib_status, ID_emitter, '', '', '', '', ''],
" ": ['connexFile','type','', '', '', '', '', '', ''],
"connexFileList": [connexFile, type2, '', '', '','', '', '', ''],
"PReS": ['','','','','','', inputFile, type3, status2],
"": ['inputFile','type','status', '', '', '', '', '', '']
}
df = pd.DataFrame(raw_data,
index=pd.Index(['name', 'status', 'lib_status', 'ID_emitter',
'','','', '', '']),
columns=pd.Index(['firstitem', ' ','connexFileList','', 'PReS'])
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.