我有加載一組考試結果的 python 代碼。每個考試都保存在它自己的 csv 檔案中。
files = glob.glob('Exam *.csv')
frame = []
files1 = glob.glob('Exam 1*.csv')
for file in files:
frame.append(pd.read_csv(file, index_col=[0], encoding='utf-8-sig'))
for file in files1:
frame.append(pd.read_csv(file, index_col=[0], encoding='utf-8-sig'))
整個資料框中有一個人在他們的姓名列中顯示為
\ufeff學生姓名
每次考試都會發生這種情況。我嘗試使用 encoding 引數,但這并不能解決問題。我沒主意了。別人有什么嗎?
uj5u.com熱心網友回復:
該字符是BOM或“位元組順序標記”。
有幾種方法可以解決它。
首先,我想建議添加引擎引數(例如,engine='python'在pd.read_csv()讀取 csv 檔案時。
pd.read_csv(file, index_col=[0], engine='python', encoding='utf-8-sig')
其次,您可以通過替換為空字串 ('') 來簡單地洗掉它。
df['student_name'] = df['student_name'].apply(lambda x: x.replace("\ufeff", ""))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/417296.html
標籤:
上一篇:函式列印正確的結果,回傳錯誤的值
下一篇:更改繼承方法的型別提示
