Python 3 csv模块的后向移植
项目描述
Python 2中csv模块的API与Python 3中的csv模块的API有很大差异。这主要是因为Python 2中的str与Python 3中的str之间的差异。
Python 3版本的意义更为有用,因为它们原生支持Unicode,而Python 2的csv不支持。
安装
pip install backports.csv
使用
首先确保你正确地开始了你的文件
from backports import csv
然后小心处理你的文件以处理编码。如果你正在处理一个类似于二进制的文件对象,io.TextIOWrapper 可以非常有帮助。如果你正在处理文件,你可以直接使用 io.open 而不是Python 2的内置函数 open,它的工作方式与Python 3的内置函数 open 类似。
from backports import csv
import io
def read_csv(filename):
with io.open(filename, newline='', encoding='utf-8') as f:
for row in csv.reader(f):
yield row
def write_csv(filename, rows):
with io.open(filename, 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
for row in rows:
writer.writerow(row)
注意:始终指定 newline=''} 是安全的,因为csv模块会自己处理(通用的)换行符。
1.0.7 (2019-03-10)
将测试添加到 MANIFEST.in。 - 感谢 @jayvdb 提供的拉取请求
1.0.6 (2018-05-22)
传递读取器错误消息。(#28)这应该有助于使错误更加透明。- 感谢@mpeteuil提交的pull请求
1.0.5 (2017-05-29)
修复README示例中的错误。(#22)- 感谢@tantale提交的错误报告
当使用QUOTE_NONE时,允许quotechar为None。(#23)- 感谢@thanatos提交的错误报告
1.0.4 (2017-02-17)
从writerow返回写入值。(#20)- 感谢@therg
1.0.3 (2017-01-23)
添加LICENSE文件。(#18)
1.0.2 (2016-09-15)
当使用QUOTE_NONNUMERIC时,避免引用任何数值类型。- 感谢@torfsen提交的错误报告
1.0.1 (2016-02-11)
为无效方言提供更好的错误消息。- 感谢@kengruven提交的错误报告
1.0 (2016-02-11)
初始发布
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
backports.csv-1.0.7.tar.gz (20.8 kB 查看散列)
构建分发
backports.csv-1.0.7-py2.py3-none-any.whl (12.9 kB 查看散列)