如何遍历pandas数据框中列中的每一行

时间:2021-06-08 08:51:34

标签: python pandas dataframe for-loop web-scraping

我有一个像下面这样的 excel 文件,里面有一组名字和他们的谷歌学者链接。

ID   Name   Link
1    A      www.abc.com
2    B      www.def.com
3    C      www.ghi.com

我编写了一个代码来读取 excel 文件,使用 for 循环浏览每个链接,在每个循环中 - 从每个链接中抓取信息并将其写入一个新文件。代码如下。

File=[]
for i in arr:
   driver.get(i)
   columns={}
   columns['Name'] = driver.find_element_by_id()
   columns['Citations'] = driver.find_element_by_id()
   File.append(columns)

我的问题是我想在我的新文件中包含一个“ID”列,它与我的 excel 文件中的“ID”列相同。本质上,我希望在 for 循环的第一次迭代中使用列“ID”的第一行,在循环的第二次迭代中使用列“ID”的第二行,依此类推。有人可以帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:0)

不是将它们保存为字典,而是将它们保存为 DataFrame 并分配一个名为 source 的新列,其 ID 为:

File=[]
for i in arr:
   driver.get(i)
   columns={}
   columns['Name'] = driver.find_element_by_id()
   columns['Citations'] = driver.find_element_by_id()
   File.append(pd.DataFrame(columns).assign(source=i))

要从中仅获取一个数据帧,您可以使用:

pd.concat(File)
相关问题