前言
这次梳理的篇幅主要是涉及CSV以及如何通过python对CSV进行操作等,对巩固自己的python知识也是很有帮助的,进一步的对CSV的使用而言也是帮助很大的。
但更多的是抛砖引玉,希望对你们有所帮助。
感谢各位鼓励与支持🌹🌹🌹,往期文章都在最后梳理出来了(●'◡'●)
接下来就以问题的形式展开梳理👇
CSV简介
CSV,「CSV 全称 Comma-Separated Values,中文叫逗号分隔值或字符分隔值,它以纯文本形式存储表格数据(数字和文本),其本质就是一个字符序列,可以由任意数目的记录组成,记录之间以某种换行符分隔,每条记录由字段组成,通常所有记录具有完全相同的字段序列,字段间常用逗号或制表符进行分隔。CSV 文件格式简单、通用,在现实中有着广泛的应用,其中使用最多的是在程序之间转移表格数据」。
CSV与Excel区别
Python 通过 csv 模块来实现 CSV 格式文件中数据的读写,该模块提供了兼容 Excel 方式输出、读取数据文件的功能,这样我们无需知道 Excel 所采用 CSV 格式的细节,同样的它还可以定义其他应用程序可用的或特定需求的 CSV 格式。
csv 模块中使用 reader 类和 writer 类读写序列化的数据,使用 DictReader 类和 DictWriter 类以字典的形式读写数据,下面来详细看一下相应功能。首先来看一下 csv 模块常量信息,如下所示:
| 属性 | 说明 |
| QUOTE_ALL | 指示 writer 对象给所有字段加上引号 |
| QUOTE_MINIMAL | 指示 writer 对象仅为包含特殊字符(如:定界符、引号字符、行结束符等)的字段加上引号 |
| QUOTE_NONNUMERIC | 指示 writer 对象为所有非数字字段加上引号 |
| QUOTE_NONE | 指示 writer 对象不使用引号引出字段 |
write(csvfile,dialect='excel',**fmtparams)
csvfile 可以是具有write()方法的任何对象,如果csvfile是文件对象,则使用 newline=’’打开;
可选参数 dialect是用于不同的 CSV 变种的特定参数组;
可选关键字参数 fmtparams 可以覆写当前变种格式中的单个格式设置。
import csvwith open('test.csv', 'w', newline='') as csvfile:writer = csv.writer(csvfile)writer.writerow(['id', 'name', 'age'])# 写入多行data = [('1001', '张三', '21'), ('1002', '李四', '31')]writer.writerows(data)
运行程序,效果如下:👇

reader(csvfile,dialect='excel',**fmtparams)
import csvwith open('test.csv', newline='') as csvfile:reader = csv.reader(csvfile, delimiter=' ')for row in reader:print(', '.join(row))
运行程序,效果如下:👇

Sniffer类
import csvwith open('test.csv', newline='') as csvfile:dialect = csv.Sniffer().sniff(csvfile.read(1024))csvfile.seek(0)reader = csv.reader(csvfile, dialect)for row in reader:print(row)
Reader类
Writer对象
python下CSV的写读追加状态
请看如下:👇
'r':读'w':写'a':追加'r+' == r+w(可读可写,文件若不存在就报错(IOError))'w+' == w+r(可读可写,文件若不存在就创建)'a+' ==a+r(可追加可写,文件若不存在就创建)对应的,如果是二进制文件,就都加一个b就好啦:'rb' 'wb' 'ab' 'rb+' 'wb+' 'ab+'
「❤️ 感谢大家」
如果你觉得这篇内容对你挺有有帮助的话:
点赞支持下吧,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-) 欢迎在留言区与我分享你的想法,也欢迎你在留言区记录你的思考过程。 觉得不错的话,也可以阅读近期梳理的文章(感谢掘友的鼓励与支持🌹🌹🌹):
「❤️ 资源传送门」
1. 扫码关注【做一个柔情的程序猿】公众号
2. 在【做一个柔情的程序猿】后台回复 【python资料】【2020秋招】 获取相应资料

👆长按上方二维码 2 秒 回复「python资料」即可获取python学习资料 回复「2020秋招」即可获取2020秋招面试题及答案




