python写CSV文件的方法(python csv writerows)
python—CSV的读写
1.写入csv数据
import csv
header=['class','name','sex','height','year']
rows=[
[1,'xiaoming','male',168,23],
[1,'xiaohong','female',162,22],
[2,'xiaozhang','female',158,21],
[2,'xiaoli','male',158,21]
]
with open('csvdir.csv','w',newline='')as f:? ? ? ? ? #newline=" "是为了避免写入之后有空行
????????ff=csv.writer(f)
????????ff.writerow(header)
? ? ????ff.writerows(rows)
2.在写入字典序列类型数据的时候,需要传入两个参数,一个是文件对象——f,一个是字段名称——fieldnames,到时候要写入表头的时候,只需要调用writerheader方法,写入一行字典系列数据调用writerrow方法,并传入相应字典参数,写入多行调用writerows ?
import csv
headers = ['class','name','sex','height','year']
rows = [
? ? ? ? {'class':1,'name':'xiaoming','sex':'male','height':168,'year':23},
? ? ? ? {'class':1,'name':'xiaohong','sex':'female','height':162,'year':22},
? ? ? ? {'class':2,'name':'xiaozhang','sex':'female','height':163,'year':21},
? ? ? ? {'class':2,'name':'xiaoli','sex':'male','height':158,'year':21},
? ? ]
with open('test2.csv','w',newline='')as f:
? ? ? f_csv = csv.DictWriter(f,headers)
? ? ? f_csv.writeheader()
? ? ? f_csv.writerows(rows)
注意:列表和字典形式的数据写入是不一样的!!!!!!
3.csv的读取,和读取文件差不多:
import csv?
with open('test.csv')as f:
? ? f_csv = csv.reader(f)
? ? for row in f_csv:
? ? ? ? print(row)
python怎么写入csv文件
import pandas as pd#任意的多组列表a = [1,2,3]
b = [4,5,6]
#字典中的key值即为csv中列名dataframe = pd.DataFrame({'a_name':a,'b_name':b})#将DataFrame存储为csv,index表示是否显示行名,default=Truedataframe.to_csv("test.csv",index=False,sep='')1234567891011
a_name b_name0 1 41 2 52 3 61234
同样pandas也提供简单的读csv方法
import pandas as pddata = pd.read_csv('test.csv')12
会得到一个DataFrame类型的data,不熟悉处理方法可以参考pandas十分钟入门
另一种方法用csv包,一行一行写入
import csv
#python2可以用file替代open
with open("test.csv","w") as csvfile:
writer = csv.writer(csvfile)
#先写入columns_name
writer.writerow(["index","a_name","b_name"])
#写入多行用writerows
writer.writerows([[0,1,3],[1,2,3],[2,3,4]])12345678910
index a_name b_name0 1 31 2 32 3 41234
读取csv文件用reader
import csvwith open("test.csv","r") as csvfile:
reader = csv.reader(csvfile) #这里不需要readlines
for line in reader:
print line
如何用python 读写 csv
csv文件就是按逗号分隔的文本, 可以用python自带的读取文本的方式, 不过我推荐用pandas包, 读写都很方便
#?coding=utf-8
#?传统方式
#?读
f1?=?open('1.csv',?'r').readlines()
result?=?map(lambda?x:?x.strip().split(','),?f)
#?写
f2?=?open('1.csv',?'w')
f2.write('what?you?want?to?write')
#?pandas方法
import?pandas?as?pd
#?读
result?=?pd.read_csv('1.csv')??#?result被转化为DataFrame对象
#?写
#?写的时候可以操作result这个DataFrame对象,?类似excel的表格,?十分方便
result[0,?0]=1
result.to_csv('2.csv')??#?将修改后的DataFrame保存为一个新的csv或者你想替换1.csv也可以
粗略介绍了一点, 如果有不懂的, 请追问.
利用Python如何将数据写到CSV文件中
如果你的数据是列表格式,可以使用一个迭代器,将数据写入文件,同时添加必要的分隔符以构成csv文件
如果数据是字典格式,需要考虑使用换行符或者其他特殊符号来分割每个字典元素(包括键和值)。键和值可以考虑使用和之前不重复的分隔符进行分割。
这样就构成了一个csv文件(csv使用分隔符分割值的文件)
操作方法如下:
1,使用读写追加的方式打开csv文件。
2,找到csv文件的结尾。
3,在结尾使用和之前csv使用的分割相同的格式进行数据添加。
4,关闭文件