[英]How do I get rid of these symbols from the text fields when reading a CSV file?
每次我在Python中打開CSV時,都會不斷看到這些奇怪的符號,它們代表文本字段中的標點符號和特殊字符。 例如:
import pandas as pd
import csv
data = pd.read_csv("Test.csv", encoding="ISO-8859-1") #utf-8 encoding doesn't work
data.head()
帶有文本的列將具有“Assassinâx80x99s信條起源”之類的內容。
所以我想您想知道我是如何首先創建csv的?
這是我使用的代碼:
def updateSubs_file():
upload_count = 0
import csv
location = "csvs"
filename = "Test.csv"
file = location + filename
with open(file, 'w', newline='', encoding='utf-8') as file:
a = csv.writer(file, delimiter=',')
headers = ["Title","Url","Author","Score"]
a.writerow(headers)
for sub in subStats:
a.writerow(subStats[sub][0])
upload_count+=1
print(str(upload_count) + " rows have been uploaded")
updateSubs_file()
因此,我可以看到在創建csv並打開時已經存在編碼不匹配的問題,但是我最初添加了encoding =“”參數以避免Unicode解碼錯誤。 這可能/可能不是我的問題的因素。
當我用Python上傳/閱讀csv時,如果能解決我的csv發生了什么,將對您的幫助表示感謝。
UTF-8 確實有效。 您是使用UTF-8編寫的,因此請使用UTF-8對其進行解碼。 例如,撤消不正確的ISO-8859-1
解碼,並使用utf8
重新解碼:
>>> s='Assassinâ\x80\x99s creed origins'.encode('iso-8859-1').decode('utf8')
'Assassin’s creed origins'
如果您在解碼utf8
編寫的內容時遇到問題,請使用示例輸入和輸出顯示確切的代碼,以重現問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.