正如您可能知道的那样,python2stdlib^{
对我来说,这似乎总是有点违反直觉,因为我会告诉人们在内部使用unicode字符串,并通过使用codecs.open(..., encoding='...')
打开文件来为外部世界正确序列化,但是在csv
模块中,您需要为传入的lists
/dicts
手动执行此操作。你知道吗
我一直很困惑为什么会这样,现在一位同事又问我,我不得不承认,除了“可能已经长大了,而且从未修好”之外,我不知道还有什么原因。你知道吗
似乎连PEP305都已经包含了unicode的todo和对codecs.open
的引用。你知道吗
这里是否有一些聪明的Python大师知道并能启发我们?你知道吗
python2
csv
不支持Unicode,因为CSV不支持Unicode。你知道吗RFC 4180中定义的CSV和常见用法不超过一个字节序列。没有标准来定义这些字节如何映射到可读文本,不同的CSV处理工具有不同的行为。如果Python的
csv
提供了特定的编码规则,那么在很多情况下它们都是错误的。最好让用户通过使用适用于该应用程序的约定手动编码/解码来决定。你知道吗python3
csv
在与文本IO流的对话中获得了Unicode支持(因为这些现在更为常见)。它们有自己的编码,但是如果您将其与CSV的默认编码一起使用,那么结果仍然是错误的。你知道吗相关问题 更多 >
编程相关推荐