当前位置:首页 >> 脚本专栏

Python将list元素转存为CSV文件的实现

首先先定义一个list,将其转存为csv文件,看将会报什么错误

list=[[1,2,3],[4,5,6],[7,9,9]]
list.to_csv('e:/testcsv.csv',encoding='utf-8')

运行后出现:

Traceback (most recent call last):
  File "D:/Python/untitled/PcCVS.py", line 43, in <module>
    list.to_csv('e:/testcsv.csv',encoding='utf-8')
AttributeError: 'list' object has no attribute 'to_csv'

list没有to_csv的属性,也就是说list直接是转存不了为csv
为了解决这个问题,我们可以引入panas模块,使用其DataFrame属性。

import pandas as pd

list=[[1,2,3],[4,5,6],[7,9,9]]
# 下面这行代码运行报错
# list.to_csv('e:/testcsv.csv',encoding='utf-8')
name=['one','two','three']
test=pd.DataFrame(columns=name,data=list)#数据有三列,列名分别为one,two,three
print(test)
test.to_csv('e:/testcsv.csv',encoding='gbk')

运行结果为:

Python将list元素转存为CSV文件的实现 

生成的csv文件为:

Python将list元素转存为CSV文件的实现 

默认的行名是从0开始递增的数字,要是不喜欢这个表示,也可以自己改,改成自己喜欢的.只需要在pd.DataFrame()中定义一个index参数,具体如下:

import pandas as pd

list=[[1,2,3],[4,5,6],[7,9,9]]
name=['one','two','three']
name2=['a','b','c']
test=pd.DataFrame(columns=name,index=name2,data=list)
print(test)
test.to_csv('e:/testcsv.csv',encoding='gbk')

这样就就修改好了

Python将list元素转存为CSV文件的实现