簡體   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