【发布时间】:2018-01-30 13:40:19
【问题描述】:
我正在使用以下代码在我的 Windows 机器上用 Python 读取 CSV 文件 (ANSI):
import csv
with open('ttest.dat') as csvDataFile:
csvReader = csv.reader(csvDataFile, delimiter="\t")
for i in csvReader:
print(i)
但是,我得到了错误:UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 4: character maps to <undefined>
在 Notepad++ 中检查文件后(在记事本中将其转换为 UTF-8 编码后)我看到出现以下内容:
似乎是与hello 相邻的这些字符导致了问题。当我手动删除它们时,可以读取文件。
有没有办法在 Python 中加载文件,同时明确告诉它忽略这些奇怪的字符?或者,是否有一种方法可以自动从这些字符中删除文本?我的文件比较大,所以手动查看每一行是不现实的。
注意:在 R 中,我可以使用 read.csv 毫无问题地读取文件
【问题讨论】:
标签: python csv text utf-8 ascii