![](/img/trans.png)
[英]'utf-16-le' codec can't decode bytes while reading EXCEL in PYTHON
[英]UnicodeDecodeError: 'utf-16-le' codec can't decode byte 0x20 in position 108: truncated data
我想使用 pandas 讀取 excel 文件,但收到以下錯誤:
WARNING *** OLE2 inconsistency: SSCS size is 0 but SSAT size is non-zero
--------------------------------------------------------------------------
UnicodeDecodeError: 'utf-16-le' codec can't decode byte 0x20 in position 108: truncated data
這是產生錯誤的代碼:
if not os.path.exists("Raw_Data"):
os.mkdir("Raw_Data")
path = 'Raw_Data'
all_files = glob.glob(path + "/*.xls")
li = []
for filename in all_files:
df_updated = pd.read_excel(filename, index_col=None, header=0)
li.append(df_updated)
該文件已從 a.aspx 內部服務器頁面導出到 .xlsx。
我花了一上午的時間進行故障排除 - 關於如何進行的任何建議?
這可能會解決您的解碼問題
with open('dataset.xls', "w") as data:
new = data.read().decode('utf-16-le')
所以,你可以對解碼文件'new'進行操作
要使用 utf-16 進行解碼,字符串的大小(以字節為單位)必須是偶數。 這a='abcde'.encode().decode('utf-16')
產生錯誤:
UnicodeDecodeError:“utf-16-le”編解碼器無法解碼 position 4 中的字節 0x65:截斷數據
雖然這a='abcdef'.encode().decode('utf-16')
運行良好:如果字符串長度不均勻,您可以在末尾添加空格或換行符。 但這是一種快速的解決方法,不能適用於所有場景。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.