python ---- 数据持久化之csv

一、读取csv文件

语法:
reader(csvfile,dialect='excel',**fmtparams)

参数说明:
csvfile,必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象,如果是文件对象,打开时需要加'b'标志参数
dialect,编码风格,默认为excel的风格,也就是用逗号(,)分隔,dialect方式也支持自定义,通过调用register_dialect方法来注册。
fmtparam,格式化参数,用来覆盖之前dialect对象指定的编码风格。

举例:

import csv
with open("name.csv","r") as csvfile:
	read = csv.reader(csvfile)
	for i in read:
		print(i)
二、写入csv文件

语法:

writer(csvfile,dialect='excel',**fmtparams)

参数说明:
首先open函数打开当前路径下的名字为m.csv的文件,如果不存在改文件,则创建它,返回myfile文件对象。
csv.writer(myfile)返回writer对象mywriter。
writerow()方法是一行一行写入
writerows()方法是一次写入多行
注意:如果文件m.csv事先存在,调用writer函数会先清空原文件中的文本,再执行writerow/writerows方法。

举例

import csv
with open('name.csv','w') as csvfile:
	writer = csv.writer(csvfile)
	writer.writerow(['id','url','keywords'])
	data = [
		('1','http://www.baidu.com','百度'),
		('2','https://www.sina.com.cn/','新浪')
	]
	writer.writerows(data)
三、设置csv编码

py文件默认是ASCII编码
如果需要更改存储文件的编码
with open('name.csv','w',encoding='utf-8',newline='') as myfile:
或者用codecs模块

import csv
import codecs
with codecs.open('name.csv','w','utf-8') as myfile:
	writer = csv.writer(myfile)
	writer.writerow(['编号','网址','名称'])
四、自定义读取 dialect参数
import csv
csv.register_dialect('mydialect',delimiter='|',quoting=csv.QUOTE_ALL)
with open('name.csv','r',encoding='UTF-8') as csvfile:
	lines = csv.reader(csvfile,'mydialect')
	for i in lines:
		print(i)
#注销: unregister_dialect(name)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值