сброс списков в csv экспорт - PullRequest
0 голосов
/ 12 ноября 2018

Мне нужно добавить заголовки столбцов, а затем экспортировать следующее в CSV. Но когда я экспортирую список, я получаю последнюю строку с каждым из символов в столбцах.

Это вывод:

Current output of list

Если я реализую df = pd.DataFrame ([d]) Я получаю следующее:

enter image description here

Код, который создает этот список:

soup=BeautifulSoup(s,'lxml')
soup.prettify()
for anchor in soup.findAll('a', href=True):
s=anchor['href']
if 'bus' in s:
    urlparse(s)
    path = urlparse(s).path[1:]
    parts = path.split('/')
    d= parts[2:4]
    df=pd.DataFrame(d)
    print(df)

1 Ответ

0 голосов
/ 12 ноября 2018

Я думаю, проблема в том, что для каждой итерации цикла вы создаете new DataFrame; в то время как я предполагаю, что вы, вероятно, захотите, это один DataFrame со всеми значениями для d. Попробуйте ниже:

# Instantiate an empty list to collect values of `d` for each iteration
d_values = []

soup=BeautifulSoup(s,'lxml')
soup.prettify()
for anchor in soup.findAll('a', href=True):
    s=anchor['href']

    if 'bus' in s:
        urlparse(s)
        path = urlparse(s).path[1:]
        parts = path.split('/')
        d = parts[2:4]

        # Append `d` to your list, creating a list of lists
        d_values.append(d)

# Once your loop is done, create a DataFrame from your list of lists
df = pd.DataFrame(d_values, columns=['col1name','col2name'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...