Python列表到.csv

时间:2018-01-04 08:08:21

标签: python pandas

我创建了一个这样的列表my_list = [(' a',' b',1,2),(' a1,' b&#39 ;,1,2)] 我希望它转储到带有标题的.csv文件

my_df = pd.DataFrame(dis)
my_df.to_csv('E:\list.csv' ,header=['col1','col2','col3','col4'],index=False)

但是在运行我的代码之后,csv文件没有任何标题,而是显示索引

而不是它

输出:

 0 1 2 3
 a b 1 2
a1 b 1 2

1 个答案:

答案 0 :(得分:0)

您可以在DataFrame构造函数中定义列名称:

my_df = pd.DataFrame(dis, columns=['col1','col2','col3','col4'])
my_df.to_csv('E:\list.csv', index=False)

编辑:

在最新版本的pandas中,0.22.0你的解决方案也非常好用,所以最好的是升级熊猫:

my_list=[('a','b',1,2),('a1','b',1,2)]
my_df = pd.DataFrame(my_list)
print (my_df)
    0  1  2  3
0   a  b  1  2
1  a1  b  1  2

print(my_df.to_csv(header=['col1','col2','col3','col4'],index=False))
col1,col2,col3,col4
a,b,1,2
a1,b,1,2

编辑:感谢Dawid Dave Kosiński提供另一种解决方案:

导入csv

my_list=[('a','b',1,2),('a1','b',1,2)]
cols = ['col1','col2','col3','col4']

with open('list.csv','w') as out:
    csv_out = csv.writer(out)
    csv_out.writerow(cols)
    for row in my_list:
        csv_out.writerow(row)