Добавить только добавление последней строки - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь добавить все строки после очистки данных с сайта. Но по какой-то причине он добавляет только последний ряд. Ниже мой код, который я написал, чтобы добавить значения

columns = ['Manager ID','Defect Count','Transactions','DPMO']
df = pd.DataFrame(columns= columns)

for i in range(0,len(rows)):
tds = rows[i].find_all('td')
if len(tds) == 4:
    values = [tds[0].text, tds[1].text, tds[2].text, tds[3].text]
else:
    values = [td.text for td in tds]

df1 = df.append(pd.Series(values,index= columns),ignore_index = True)
print(df1)

Пример данных, которые я пытаюсь добавить после очистки,

 ['jerejn', '0', '6', '0']
 ['asaeabe', '74', '209', '261,484']
 ['efseu', '5', '185', '26,316']
 ['fddes', '0', '1,534', '0']

Но мой вывод выглядит следующим образом. Только последняя строка . Любая помощь о том, как сделать эту работу приветствуется

 Manager ID Defect Count Transactions DPMO
0    fddes            0        1,534    0

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

Я думаю, что вы забыли свои отступы. Попробуйте это, пожалуйста. Если не работает, добавьте несколько строк для мини-примера, чтобы мы могли его попробовать;)

columns = ['Manager ID','Defect Count','Transactions','DPMO']
df = pd.DataFrame(columns= columns)

for i in range(0,len(rows)):
    tds = rows[i].find_all('td')
    if len(tds) == 4:
        values = [tds[0].text, tds[1].text, tds[2].text, tds[3].text]
    else:
        values = [td.text for td in tds]

    df1 = df.append(pd.Series(values,index= columns),ignore_index = True)
print(df1)
0 голосов
/ 27 февраля 2020

Вместо добавления к df1, я думаю, вы должны добавить к df, то есть

df = df.append(pd.Series(values,index= columns),ignore_index = True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...