Error al escribir datos en CSV debido a un error ASCII en Python
import requests
from bs4 import BeautifulSoup
import csv
from urlparse import urljoin
import urllib2
base_url = 'http://www.baseball-reference.com'
data = requests.get("http://www.baseball-reference.com/teams/BAL/2014-schedule-scores.shtml")
soup = BeautifulSoup(data.content)
outfile = open("./Balpbp.csv", "wb")
writer = csv.writer(outfile)
url = []
for link in soup.find_all('a'):
if not link.has_attr('href'):
continue
if link.get_text() != 'boxscore':
continue
url.append(base_url + link['href'])
for list in url:
response = requests.get(list)
html = response.content
soup = BeautifulSoup(html)
table = soup.find('table', attrs={'id': 'play_by_play'})
list_of_rows = []
for row in table.findAll('tr'):
list_of_cells = []
for cell in row.findAll('td'):
text = cell.text.replace(' ', '')
list_of_cells.append(text)
list_of_rows.append(list_of_cells)
writer.writerows(list_of_rows)
u'G. \ xa0Holland ', u'N. \ xa0Cruz' ...
Aquí está el mensaje de error:
Traceback (most recent call last):
File "try.py", line 40, in <module>
writer.writerows(list_of_rows)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 57: ordinal not in range(128)
Cuando escribo los datos en un csv termino con datos que contienen \ x ... cosas en las piezas de datos que evitan que los datos se escriban en un csv. ¿Cómo podría cambiar los datos para eliminar esta parte de los datos o hacer algo para evitar este problema?