我有以下字典:
details = {"Primary_key" : [{'key_1': 'val', 'key_3': "val", 'key_5': ['val_1', 'val_2', 'val_3'], 'key_6': 'val'}, {'key_2': 'val', 'key_3': 'val', 'key_5': ['val_1','val_2'], 'key_6': 'val'}, {'key_1': 'val', 'key_2': 'val', 'key_3': 'val', 'key_4': 'val', 'key_5': ['val_1', 'val_2'], 'key_6': 'val'}] }
我有以下代码将其转换为 csv 文件。
import pandas as pd
for name,val in details.items():
df = pd.DataFrame.from_dict(details[name])
df.index = [name]*len(df)
print df.index
with open("my_file.csv",'a') as f:
df.to_csv(f)
最佳答案
这是 pd.concat
(垂直串联)的一个很好的用例:
import pandas as pd
df_list = []
for name,val in details.items():
df = pd.DataFrame.from_dict(details[name])
df.index = [name] * len(df)
df_list.append(df)
pd.concat(df_list).fillna('').to_csv('my_file.csv')
这还涉及到使用df.fillna('')
将NaN
替换为空字符串,所以看起来更干净。
关于python - 使用python将多行csv文件合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45528345/