python 3 csv模块的后台
backports.csv的Python项目详细描述
python 2中csv模块的api与 python 3中的csv模块。这在很大程度上是由于 python 2和python 3中str的区别。
python 3版本的语义更有用,因为它们支持 Unicode是本机的,而Python2的CSV不是。
安装
pip install backports.csv
用法
首先确保您的文件启动正确:
frombackportsimportcsv
然后小心你的文件来处理编码。 如果你在处理一个类似二进制文件的对象, io.TextIOWrapper非常有用。 如果您正在处理一个文件,您可以使用io.open 而不是python 2的openbuiltin,它可以工作 就像python 3的内置open。
frombackportsimportcsvimportiodefread_csv(filename):withio.open(filename,newline='',encoding='utf-8')asf:forrowincsv.reader(f):yieldrowdefwrite_csv(filename,rows):withio.open(filename,'w',newline='',encoding='utf-8')asf:writer=csv.writer(f)forrowinrows:writer.writerow(row)
注意:指定newline=''应该总是安全的, 因为csv模块有自己的(通用的)换行处理。
1.0.7(2019-03-10)
- 将测试添加到MANIFEST.in。 -感谢@jayvdb的拉取请求
1.0.6(2018-05-22)
- 同时传递读卡器错误消息。(28) 这将有助于使错误更加透明。 -感谢@mpeteuil的拉取请求
1.0.5(2017-05-29)
- 修复自述文件示例中的错误。(22) -感谢@tantale提供的错误报告
- 使用QUOTE_NONE时,允许None作为引号。(23) -感谢@thanatos提供的错误报告
1.0.4(2017-02-17)
- 从writerow返回write值。(二十) -感谢@therg
1.0.3(2017-01-23)
- 添加许可文件(18)。
1.0.2(2016-09-15)
- 使用QUOTE_NONNUMERIC时避免引用任何数值类型。 -感谢@torfsen提供的错误报告
1.0.1(2016-02-11)
- 对于无效的方言,更好的错误消息。 -感谢@kengruven提供的错误报告
1.0(2016-02-11)
- 初始版本