我不完全確定我需要做什麼來解決這個錯誤。我認爲它需要添加.encode('utf-8')。但我不完全確定這是我需要做什麼,也不應該在哪裏應用這個。在寫入CSV期間,Python ASCII編解碼器無法編碼字符錯誤
的錯誤是:
line 40, in <module>
writer.writerows(list_of_rows)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 1
7: ordinal not in range(128)
這是我的Python腳本的基礎。
import csv
from BeautifulSoup import BeautifulSoup
url = \
'https://dummysite'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html)
table = soup.find('table', {'class': 'table'})
list_of_rows = []
for row in table.findAll('tr')[1:]:
list_of_cells = []
for cell in row.findAll('td'):
text = cell.text.replace('[','').replace(']','')
list_of_cells.append(text)
list_of_rows.append(list_of_cells)
outfile = open("./test.csv", "wb")
writer = csv.writer(outfile)
writer.writerow(["Name", "Location"])
writer.writerows(list_of_rows)
哦,哇,不知道CSV庫在Python中被破壞。非常感謝你!這是一個巨大的幫助 – paintball247
爲什麼這不夠投票?我似乎有人使用各種解決方法來解決這個問題,說實話,沒有比簡單使用「unicodecsv」模塊更好的了。 –