如何使用pandas将defaultdict转换为指定格式的CSV
解决方法
你直接传入字典给DataFrame会默认将字典键作为列名、值列表作为列数据,和你需要的按行存储的结构不符,你需要先将字典转换为按行组织的嵌套列表结构再构造DataFrame,示例代码如下:
import pandas as pd from collections import defaultdict # 你的原始defaultdict数据 raw_data = defaultdict(list, {'ZY20': [545, 27, 402], 'ZYV0': [2190, 5, 78], 'ZZL0': [175, 21, 90]}) # 按行拼接键和对应的值列表,构造DataFrame df = pd.DataFrame([[key] + value for key, value in raw_data.items()]) # 导出文件:如果你要空格分隔的格式就用sep=' ',要标准逗号分隔CSV就删除sep参数即可 # index=False 不导出行索引,header=False 不导出列名 df.to_csv('result.csv', sep=' ', index=False, header=False)
运行上述代码后导出的文件内容就和你需要的格式完全一致。
内容的提问来源于stack exchange,提问作者Tom Smith
相关产品推荐
相关产品推荐

