【问题标题】:Python and parsing unicode filesPython和解析unicode文件
【发布时间】:2011-03-29 13:33:14
【问题描述】:

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

首先是

ValueError: float() 的空字符串

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

好的,我将其解码为使用 unicode 读取它

codecs.open(文件名, 'r', 'utf-16')

然后地狱打开,缺少 BOM,行尾字符问题(LF vs CR+LF)等等。

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

附:我正在使用 Python 2.7

【问题讨论】:

  • 你为什么要编写一个 csv 解析器而不只是使用 csv 模块?

标签: python parsing unicode file-io csv


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    这主要取决于您使用的 Python 版本,但这两个链接可以帮助您:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-07
      • 1970-01-01
      • 2016-09-26
      • 2018-12-30
      相关资源
      最近更新 更多