繁体   English   中英

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

[英]Is there a way to remove invalid characters in Excel?

我想在 python 中读取带有 pandas 的 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 文件中的这些字符?

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

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

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

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

Ori6151 是正确的,编码需要是“utf-8”,“utf-8-sig”也很好用。

我不得不使用编码“cp850”,它为我停止了这个错误。 这当然取决于它无法解码的字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM