【发布时间】:2020-03-08 20:04:17
【问题描述】:
我尝试过 How to build and fill pandas dataframe from for loop?,但似乎无法将我的值写入我的列。
最终我从网页获取数据并希望将其放入数据框中。
我的标题预定义为:
d1 = pd.DataFrame(columns=['col1', 'col2', 'col3', 'col4', 'col5', 'col6', 'col7', 'col8', 'col9',
'col10', 'col11', 'col12', 'col13', 'col14', 'col15', 'col16', 'col17'])
现在我有了在 for 循环中得到的值,如何将这些行写入每一列,然后重复回到第 1 到第 17 列,然后是下一行?
row = soup.find_all('td', attrs = {'class': 'Table__TD'})
for data in row:
print(data.get_text())
样本输出第 1 行
Mon 11/11
SA
100
31
3-5
60.0
1-3
33.3
1-2
50.0
10
4
0
1
1
2
8
示例输出第 2 行
Wed 11/13
@CHA
W119-117
32
1-5
20.0
1-5
20.0
0-0
0.0
3
1
0
1
3
3
3
预期输出
任何帮助将不胜感激。
【问题讨论】:
-
行有什么? @excelguy
-
我会支持@Vishnudev 所说的。我们需要更多信息,包括代码、数据来源等。请参阅:minimal reproducible example。
-
d1.loc[len(d1), col_name] = value但使用循环将值放入dataframe听起来真的很糟糕。我建议你在更大的问题上发布一个新问题,将数据输入dataframe,这样人们就可以看看它是否可以在没有循环的情况下完成。 -
添加了详细信息,希望对您有所帮助。