python操作csv文件:读取、写入、末行追加

csv文件与txt文件类似,区别点就是在csv文件中,字段间使用“,”或“|”隔开,达到类似与表格的效果。csv文件可以使用记事本打开(打开可见分隔符“,”),也可使用excel打开(打开以表格形式显示,看不见分隔符)。注意:尽量不要使用wps打开,可能会打乱格式。

#在操作csv文件时,需要导入csv库,csv是python内置库,无需下载

 import csv

 #读取csv文件内容

#在操作csv文件时,文件要保持打开状态,mode='r'表示操作模式为只读
cdata=open(r'./test.csv',mode='r',encoding='utf8')

#以字符串形式进行读取,每次读取一行,返回结果包含分隔符
# for i in cdata:
# print(i)#结果为字符串,如:"1,3,5,7"

#以列表形式进行读取,可使用循环遍历每一行读取
# clist=csv.reader(cdata)#注意:文件打开后每次只能进行一次操作
# for i in clist:
# print(i)#结果为列表,列表内元素为字符串类型,如:['1', '3', '5', '7']


#可将数据直接添加到列表中,方便后期使用
# result=[]#定义一个列表存储文件数据
# result.extend(clist)#将数据添加到列表中
# print(result)#[['1', '3', '5', '7'], ['2', '4', '6', '8']]

#以字典形式进行读取,可使用循环遍历每一行读取
cdict=csv.DictReader(cdata)
for i in cdict:
print('%s,%s,%s,%s'%(i['l1'],i['l2'],i['l3'],i['l4']))
# cdata.close()#关闭文件

#写入操作
#对csv文件进行写入操作,mode='w'表示操作模式为只写,如文件不存在则自动创建文件覆盖写入
with open(r'./test2.csv',mode='w',newline='',encoding='utf8') as cf:
wf=csv.writer(cf)
wf.writerow(['name', 'age', 'sex'])
data = [['小丽', '10', '女'], ['小李', '12', '男'], ['小力', '9', '男']]
for i in data:
wf.writerow(i)

#末尾追加写入,文件必须已存在
with open(r'./test2.csv',mode='a',newline='',encoding='utf8') as cfa:
wf = csv.writer(cfa)
data2 = [['小美', '10', '女'], ['小力', '12', '男'],]
for i in data2:
wf.writerow(i)

 

posted @ 2020-08-31 11:12  树下影  阅读(8879)  评论(0编辑  收藏  举报