2015-10-15 6 views
-1

Прежде всего, хочу сказать, что я изучал форум около 2 дней и не нашел ничего, что мне подходит. Ну, вот идем. Im ломает сайт, и мне просто нужно настроить вывод кода python по порядку.Python, код для csv. Смутные проблемы

это то, что я получил после того, как запустить его:

1 
Kidderminster Harr 
1183 
283 
138 
170 
1005 
731 
"" 
208 
148 
236 
813 
877 
"" 
+210 
1727 
.536 

В одной колонке ..

И это то, что я хочу: Я хочу CSV, как этот

1, Kidderminster Harr, 1183, 283, 138, 170, 1005, 731, "", 208, 148, 236,etc... 

Некоторое время назад я помню, что добавление + ',' к каждому элементу могло бы сделать трюк ... теперь я не знаю, почему больше не работает.

Это то, что я до сих пор:

import requests 
from bs4 import BeautifulSoup 

req = requests.get('http://www.statto.com/football/stats/england/national-league/all-time-table', headers={'User-Agent':'a-user-agent'}) 
soup = BeautifulSoup(req.text) 
summary = soup.find("div",{"id" : "page-content"}) 
tables = summary.find('table') 
count = 0 
for row in tables.findAll('tr'): 
    for cell in row.findAll('td'): 
     data = cell.getText() 
     if (count < 18): 
      data = data + ';' 
      print data 
     count += 1 
     if (count==19): 
      print data 
     count = 0 

Любые идеи будут очень высоко.

ответ

0
print data 

Распечатывает данные и новую строку.

print data, 

подавляет новую линию. Это помогает?

Я думаю, что вы хотите:

if (count < 18): 
    data = data + "," 
    print data, 
    count += 1 
elif (count==19): 
    print data 
    count = 0 

Есть более вещие способы сделать это, но это был ответ на ваш вопрос, я думаю.

+0

вот что я говорю !! Спасибо чувак!!Я был на 3 дня безумным, и я просто забыл положить это «,» после печати! – Enaggi

+0

Python 3 и/или «из __future__ import print_function» предоставляют вам функцию печати по сравнению с оператором печати. Для этого вы можете передать параметр «конец», такой как end = "" для подавления новой строки. Но в python 2 так оно и работает. – RobertB

0

Если я вас правильно понял, вы хотите разделить на пробелы, а затем присоединиться запятыми:

>>> string = "1 Kidderminster Harr 1183 283 138 170 1005 731 "" 208 148 236 813 877 "" +210 1727 .536" 
>>> ", ".join(string.split()) 
'1, Kidderminster, Harr, 1183, 283, 138, 170, 1005, 731, 208, 148, 236, 813, 877, +210, 1727, .536' 

Метод split будет разбить строку в списке по его пробелом, то join создает строку с каждый элемент списка разделен ", ".

Редактировать: ваш вопрос немного изменился, но если вы можете добавить каждую часть своего столбца в список, то вызовите join.

0

глядя на ваш код сначала необходимо инициализировать результирующую строку следующим образом:

result = "" 

сделать это до второй цикл. то вам нужно добавить к этой петле в двух местах, где печатают переменные данные

result = result + data + ", " 

и

result = result + data 

, а затем сразу же после этой второй линии

print result 

вы должны получить что вам нужно.

 Смежные вопросы

  • Нет связанных вопросов^_^