min*_*ada 5 python loops list dataframe
我确定这很简单,但我对 Python 还是很陌生。我在每次循环迭代后如何将列表添加到数据框列或行时遇到问题。我想使用外部 for 循环遍历大约一百个 URL 的列表,并使用内部循环提取数据。每次
现在使用代码,我可以创建一个数据框,将所有列表一起附加到数据框中的一列或一行。但是我希望在数据帧的新列或行中单独进行内循环的每次迭代。
list_rows = []
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
for row in rows:
a=row.find('td').get_text().strip()
list_rows.append(a)
list_rows.to_frame()
Run Code Online (Sandbox Code Playgroud)
不幸的是,内循环的列表会有不同的长度!也许有人有一个简单的解决方案或提示我可以改变什么?谢谢!
我假设您的意思是新“行”中外循环的每次迭代。这将创建一个二维数组(列表)作为结果,对于 link_href_list 中的每个元素,您将获得一个新的“行”。虽然我不知道 to_frame() 方法是什么,但我认为它是一个打印输出。
list_columns = []
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_columns.append(list_rows)
list_columns.DataFrame()
Run Code Online (Sandbox Code Playgroud)
编辑:如果 to_frame 是 pandas DataFrame 的东西,我不完全确定它将如何处理不同的长度。我会检查几个,但也有办法解决这个问题。似乎目前还没有关于如何导入不同长度列表的非常简单的答案,并找到最长的列表并相应地调整 pandas 导入并使新循环中的列表长度相等。
| 归档时间: |
|
| 查看次数: |
11960 次 |
| 最近记录: |