【发布时间】:2012-07-26 14:03:46
【问题描述】:
我从大量 CSV 文件中捕获了大量数据。某些信息已被挖掘出来。我雕刻的一个部分是具有大量各种文本格式的部分。其中一些是情绪和其他非标准文本。
当将此数据输出为 HTML 格式时,我遇到了错误。目前我有以下错误:
UnicodeDecodeError: 'charmap' codec can't decode byte 0X90 in Position: character maps to
.
程序当前将信息从字符串存储到数组中。然后将数组写入 HTML 文件。
知道如何在 Python 3.2 中解决这个问题或如何实现字符缓冲区吗?
更新
我已经尝试了下面的 cmets,也做了更多的研究。
我用过这段代码无济于事:
MessageArray.append(Message.encode('ascii', 'ignore'))
但我得到了错误: TypeError: 无法将 'bytes' 对象隐式转换为 str。
【问题讨论】:
-
你的输入数据是什么编码的? CSV 是文本文件,它们不应包含“原始”二进制数据。您可能只需要使用正确的字符集读取 CSV 文件。
-
"如果需要,可以提供代码 sn-ps。" – 是的,请。
-
在 unicode 字符串的内部表示和二进制输出之间并没有真正的“原始”方式来编码/解码。 (也许 UTF-32 除外,但这很少有用。)您要么在字节数组和字节数组之间切换(这里不是这种情况,因为 CSV 和 HTML 都是文本格式),或者您必须知道输入和输出的编码是什么文字在里面。
-
我正在使用 wb 读取数据。这是因为需要将其作为二进制文件来分割数据的某些部分。
标签: python windows python-3.x