我有一系列看起来像这样的数据:
example = {'sample A': pd.DataFrame({'Head1':data,'Head2':data}), 'sample B': pd.DataFrame({'Head1':data,'Head2':data})...}
我想将其保存到单个csv文件中,并将示例名称作为标题,并将Head1和Head2作为子标题。
到目前为止,我只是使用
将每个数据帧输出到其自己的csv文件中for sample in example
example[sample].to_csv(sample+"data.csv",index=False)
csv文件应如下所示:
Sample A,, Sample B,,/n
Head1, Head2, Head1, Head2,/n
Data, Data, Data, Data,/n
请注意:每个样本的子标头的数量始终相同
到目前为止,我还考虑过将数据帧连接为一个,将其写入csv,然后再添加新的标头,但似乎应该有更好的方法。
答案 0 :(得分:0)
1-创建您的虚拟[
[
{
"Empid": 2326,
"Empname": "Sam Smith",
"AbsenceId": 12840,
"Comment": "a001t000004FQgHAAW",
"AbsenceStartDate": "2019-05-31T00:00:00.000Z",
"AbsenceEndDate": "2019-05-31T00:00:00.000Z",
"JobId": 400004,
"AbsenceRequestId": ""
},
{
"Empid": 3387,
"Empname": "Joe bloggs",
"AbsenceId": 12842,
"Comment": "a001t000004FK67AAG",
"AbsenceStartDate": "2019-06-06T00:00:00.000Z",
"AbsenceEndDate": "2019-06-10T00:00:00.000Z",
"JobId": 700004,
"AbsenceRequestId": ""
}
]
]
:
DataFrame
2-遍历您的import pandas as pd
example = {'sample A': pd.DataFrame({'Head1': [1.0],'Head2': [1.0]}), 'sample B': pd.DataFrame({'Head1': [1.0],'Head2': [1.0]})}
:
dict
3- IMG结果:
4-为适当的csv操纵标题的第一行:
for key, value in example.items():
value.columns = pd.MultiIndex.from_product([[key], value.columns]) # Create the multilayer index
df = pd.concat([df, value], axis=1, sort=False) # Add DataFrames on the right
5-享受csv (LibreOffice屏幕截图):