有没有办法删除Excel中的无效字符?

时间:2019-10-25 11:18:27

标签: python excel pandas

我想用python读取带有熊猫的Excel文件。 我的代码就这么简单:

import pandas as pd
data = pd.read_excel(open("excel.xlsx"),encoding='utf-8')

但是运行脚本后出现以下错误:

UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 16: character maps to <undefined>

我的excel文件中似乎至少有一个“无效”字符。 我试图用不同的名称保存Excel文件,或者尝试了其他SO线程中建议的其他编码。但是没有任何办法解决这个问题。 如何清除Excel文件中的那些字符?

2 个答案:

答案 0 :(得分:2)

Xlsx文件是一个二进制文件,而open会尝试将其读取为文本文件并将其传递给read_excel,因此无法读取它。而是使用

data = pd.read_excel("excel.xlsx", encoding='utf-8')

如果您想使用打开(在这种情况下不需要,因为熊猫会自动为您打开文件),您可以

data = pd.read_excel(open("excel.xlsx", mode='rb'))

答案 1 :(得分:1)

Ori6151正确,编码必须为“ utf-8”,“ utf-8-sig”也可以正常工作。

我必须使用编码“ cp850”,这对我来说阻止了此错误。当然,这取决于它无法解码的字符。