[英]Python: print dictionary to csv, each key value in a new line
I have the following data 我有以下数据
{'index': [1, 2, 3], 'similar': [[0, 2], [1, 2], [2, 1]], 'markets': [['A', 'C'], ['B', 'C'], ['A', 'B']]}
and I want to print it to a csv file as following: 并且我想将其打印到csv文件,如下所示:
index similar markets
1 [0,2] ['A','C']
2 [1,2] ['B','C']
3 [2,1] ['A','B']
currently my code is as following: 目前我的代码如下:
with open('mycsvfile.csv', 'wb') as f: # Just use 'w' mode in 3.x
w = csv.DictWriter(f, a.keys())
w.writeheader()
w.writerow(a)
and it prints: 它打印:
index similair markets
[1, 2, 3] [[0, 2], [1, 2], [2, 1]] [['A', 'C'], ['B', 'C'], ['A', 'B']]
import csv
a = {'index': [1, 2, 3], 'similar': [[0, 2], [1, 2], [2, 1]], 'markets': [['A', 'C'], ['B', 'C'], ['A', 'B']]}
keys = ['index', 'similar', 'markets']
with open('mycsvfile.csv', 'wb') as f: # Just use 'w' mode in 3.x
w = csv.writer(f)
w.writerow(keys)
w.writerows(zip(*[a[key] for key in keys]))
CSV file: CSV档案:
index,similar,markets
1,"[0, 2]","['A', 'C']"
2,"[1, 2]","['B', 'C']"
3,"[2, 1]","['A', 'B']"
you can use the pandas
library: 您可以使用
pandas
库:
import pandas as pd
x = {'index': [1, 2, 3], 'similar': [[0, 2], [1, 2], [2, 1]], 'markets': [['A', 'C'], ['B', 'C'], ['A', 'B']]}
x = pd.DataFrame(x)
x.to_csv('mycsvfile.csv', index = False)
the csv will be: csv将是:
index,markets,similar
1,"['A', 'C']","[0, 2]"
2,"['B', 'C']","[1, 2]"
3,"['A', 'B']","[2, 1]"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.