我正在使用 Python 2.7 并尝试使用 mechanize 库从网站自动下载 excel 文件。我使用 CharDet 发现了文件的原始编码,即“iso-8859-2”。为了根据机械化读取的数据正确地将数据分成列,我有一个中间步骤将数据存储到文本文件中。
fileobj = open("data.txt", 'wb')
fileobj.write(response.read())
fileobj.close()
要创建 Excel 文件,我使用的是 xlwt 模块。
book = xlwt.Workbook(encoding = "utf-8")
sheet = book.add_sheet('sheet1')
在此之后,我通读了文本文件并尝试解码文本并将其编码为 utf-8 格式
for line in fileobj:
line = line.decode("iso-8859-2").encode("utf-8", "ignore")
问题是尝试使用 Python 的 csv 默认阅读器对文件进行迭代会报告一个错误,即存在空字节。将编码文本放在 .txt 文件中表明行本身没有空字节,所以我不确定问题出在哪里。