我知道這個問題已被問及各種時間,但不知何故我沒有得到結果。Python 2.7:'ascii'編解碼器無法編碼字符u' xe9'錯誤,同時寫入文件
我正在從網頁取數據,其中包含一個字符串Elzéar。在閱讀CSV文件時,會出現問題標題中提到的錯誤。
同時產生的數據我沒有以下內容:
address = str(address).strip()
address = address.encode('utf8')
return name+','+address+','+city+','+state+','+phone+','+fax+','+pumps+','+parking+','+general+','+entertainment+','+fuel+','+resturants+','+services+','+technology+','+fuel_cards+','+credit_cards+','+permits+','+money_services+','+security+','+medical+','+longit+','+latit
,寫它:
with open('records.csv', 'a') as csv_file:
print(type(data)) #prints <unicode>
data = data.encode('utf8')
csv_file.write(id+','+data+'\n')
status = 'OK'
the_file.write(ts+'\t'+url+'\t'+status+'\n')
生成錯誤爲:
'ASCII' 編解碼器不能編碼字符U '\ xe9'位置55:序號 不在範圍內(128)
使用csv軟件包 –
@JavierBuzzi這是怎麼解決問題的?你能舉個例子嗎? – Volatil3
不要混合使用UTF-8編碼字節的Unicode字符串。你應該將你的Unicode字符串組裝成它們的最終形式,然後編碼爲UTF-8。您應該指定您使用的Python版本(在問題標籤中),因爲Python 2和Python 3對Unicode的處理方式不同。 –