我正在尝试在每个循环中附加一个数据框。不幸的是,创建的列表总是被新的输出覆盖...
for x in link_href_list:
urllib.request.urlopen(x)
html = urlopen(x)
bs = BeautifulSoup(html, "lxml")
table=bs.find('tbody')
rows = table.tr.next_siblings
list_rows = []
for row in rows:
a=row.find('td').get_text().strip()
list_rows.append(a)
list_rows = pd.Series(list_rows)
list_rows.to_frame()
我需要一个数据框,该数据框在每次迭代中创建一个包含熊猫的新列...
答案 0 :(得分:0)
看,如果您的列表值在每次迭代中都具有相同的长度,那么就不那么困难了。您需要做的就是在创建数据框时,提供列名,这应该很好
pd.DataFrame(list_rows, columns=('Col1', 'Col2', 'Col3'))
您不需要将每个后续迭代值都创建为一个序列,即不需要此行:
list_rows = pd.Series(list_rows)
我希望这会对您有所帮助。 如果万一您的值数量每次都不同,则可能必须以不同的方式处理它。