Python 和解析 unicode 文件

标签 python parsing unicode file-io csv

几周前,我用 python 编写了一个 CSV 解析器,它与提供的文本文件配合得很好。但是当我们尝试使用其他文件进行测试时,问题就出现了。

首先是

ValueError: empty string for float()

对于像“313.44”这样的字符串。问题在于,在 unicode 中,数字“\x0”之间存在一些空字节。

好的,我用 unicode 解码读取它

codecs.open(filename, 'r', 'utf-16')

然后 hell 就出现了,缺少 BOM、行结束符问题(LF 与 CR+LF)等。

如果我不知道编码是什么、是否存在 BOM、行结尾是什么等,您能否向我提供或提示有关解析 unicode 和非 unicode 文件的解决方法。

附注我正在使用Python 2.7

最佳答案

使用 Daenyth 提出的 csv 模块解决了该问题

关于Python 和解析 unicode 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5473369/

相关文章:

python - 在 python 中使用logging.config.dictConfig配置日志记录时出错

python - Numpy Broadcasting Answer 的解释

json - 使用jq从Json子集合中查找和替换元素

windows - 在 Windows 中,如何输入 Unicode 基本多语言平面之外的字符?

Delphi 2006 system.delete 宽字符串?

python - 如何将图像插入按钮?

python - 当训练仅具有输出相对于所有输入的导数时训练神经网络

r - 通过分隔符解析文本文件并使用R输出多个文件

parsing - 如何在 Julia 中解析未知类型的输出

C 编程、unicode 和 linux 终端