我正在使用以下代码在我的Windows机器上读取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
答案 0 :(得分:1)
with open('ttest.dat', encoding="utf8") as csvDataFile:
这将使用UTF-8编码打开文件。