本文介绍了如何将不等价列表作为值的字典转换为csv的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一本字典,其中的列表不等于这样的值
I have a dictionary with an unequal list as values like this
dict_data = { "Data 1": ["cool", "fantastic"], "Data 2": ["spam", "hello", "howdy", "foo"], "Data 3": ["good morning"], }我想要这样的输出
Data 1 Data 2 Data 3 cool spam good morning fantastic hello howdy foo我已经尝试过在论坛上找到的
I have tried this which I found on this forum
def transpose(cols): return map(lambda *row: list(row), *cols) with open('result.csv','w') as out_file: writer = csv.writer(out_file,dialect = 'excel') headers = dict_data.keys() items = transpose(dict_data.values()) writer.writerow(headers) writer.writerows(items)但是它只输出第一行
Data 1 Data 2 Data 3 cool spam good morning推荐答案
这可能不是最佳答案,但我始终将要导出为csv的数据转换为pandas数据框。此解决方案也适用于不相等的列表值。
It might not be the best answer but I always convert the data I want to export as csv to a pandas dataframe. This solution also works well for unequal list values.
data1 = pd.DataFrame(dict_data["Data 1"]) data2 = pd.DataFrame(dict_data["Data 2"]) master = pd.concat([data1, data2], axis=1) master.to_csv("file_name", encoding='utf-8', index=False, header=None)更多推荐
如何将不等价列表作为值的字典转换为csv
发布评论