Извините, если мой код ужасен, я только начал изучать Python.CSV-выходы в одну ячейку
Я очищаю данные из файла HTML и пытаюсь записать в CSV.
Проблема в том, что он записывает весь контент в одну ячейку.
for table in soup.find_all('table', class_='players-table'):
for headers in soup.find_all('thead'):
for y in headers.findAll('th'):
[csvHeader.append(i) for i in y if y.getText() != '']
counter = 0
myfile = open('/Users/andrew/Documents/Projects/Football Data/ppi.csv', 'wb')
wr = csv.writer(myfile, delimiter=',', lineterminator='\n', quoting=csv.QUOTE_MINIMAL)
c = csv.writer(myfile)
c.writerow(csvHeader)
for table in soup.find_all('table', class_='players-table'):
for headers in soup.find_all('tbody'):
for rows in headers.findAll('tr'):
for x in rows.findAll('td'):
if x.getText() !='':
csvRows_temp.append(x.getText().replace('\n ','').replace('\n ',''))
counter +=1
if counter == 13:
myList = [','.join(csvRows_temp).encode('utf8').strip()]
csvRows_temp.append('\n')
c.writerow(myList)
csvRows_temp[:] = []
myList[:] = []
counter = 0
Выход заключается в следующем:
Как я могу сделать это написать в каждой ячейке вместо того, чтобы передать его в одну ячейку в каждой строке?
Вопросы, ищущих отладки помощи ("? Почему не этот код работает") должен включать желаемого поведения, конкретной проблемы или ошибки и кратчайшего кода, необходимого для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны другим читателям. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). –
Если вы не против, где вы нашли HTML-файл, который хотите очистить? Меня тоже интересуют данные о футболе. – GiannisIordanou
evil_inside, http://www.premierleague.com/en-gb/players/ea-sports-player-performance-index.html EA предоставляет индекс производительности игрока для премьер-лиги Barclay. Если вы измените результаты на страницу на все, кроме 20, а затем измените paramItemsPerPage с URL на 999, вы получите полный список данных. –