本篇概述:csv文档操作及部分函数示例
1、简介
- CSV 模块是python内置的标准库
1 | import csv # 引入方式 |
- CSV格式的文件是电子表格和数据库最常见的输入输出文件格式,对了多种来源的CSV文件,编写一个统一的CSV模块来统一处理是极为有效率的。
2、函数介绍
1.csv.reader()
读取
csvfile : 必须是可迭代对象,或者是文件
dialect:编码风格,默认是 excel 风格;需要指定其他风格可查看csv.list_dialects()
1
2print(csv.list_dialects())
# ['excel', 'excel-tab', 'unix']fmtparams:格式化参数,用于覆盖 dialect 指定的风格
1 | import csv |
2.csv.writer()
- 写入
- 同csv.reader()
1 | import csv |
- writerow 单行写入
- writerows 多行写入
但是以上代码执行后存在一个问题:每次写入数据都会换行再写入
解决:
1 | import csv |
结果:
分析:
- newline 参数是控制文本模式下( 即w、w+、a、a+等) 一行文本结束的字符,可以是None,\n,\t等
3.csv.list_dialects()
- 查看所有支持的编码风格,包括用户自定义的
1 | import csv |
4.csv.register_dialect(name, [dialect, ]**fmtparams)
- 创建自定义的 dialect
- name:自定义的 dialect 名字
- 其余的是dialect格式参数,包括:delimiter(分隔符,默认的就是逗号)、quotechar、quoting等
1 | # 创建一个test1的dialect,分隔符用"|" |
5.csv.unregister_dialect()
- name:dialect的名字
1 | import csv |
6.csv.DictWriter()
- 以字典形式写入
- csvfile:必须是可迭代对象,或者是文件
- fieldnames:字段名
1 | import csv |
结果: