Tôi không hoàn toàn chắc chắn những gì tôi cần làm về lỗi này. Tôi cho rằng nó phải làm với việc cần thêm .encode ('utf-8'). Nhưng tôi không hoàn toàn chắc chắn nếu đó là những gì tôi cần phải làm, cũng không phải nơi tôi nên áp dụng điều này.Codec ASCII của Python không thể mã hóa lỗi ký tự khi ghi vào CSV
Lỗi này là:
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)
này là cơ sở của kịch bản python của tôi.
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)
oh wow không biết rằng thư viện CSV đã bị hỏng trong python. Cảm ơn nhiều! Đó là một trợ giúp rất lớn – paintball247
Tại sao điều này không được bình chọn đủ? Tôi dường như mọi người sử dụng tất cả các loại giải pháp để giải quyết điều này, và thành thật mà nói, không có cách nào hoạt động tốt hơn là chỉ sử dụng mô-đun "unicodecsv". –