使用csv模块,我遍历行以执行逻辑:
import csv
with open("file.csv", "r") as csv_read:
r = csv.reader(csv_read, delimiter = ",")
next(r, None) #Skip headers first row
for row in rows:
#Logic here
我是Pandas的新手,我想执行相同的逻辑,只使用csv中的第二列作为循环的输入。
import pandas as pd
pd.read_csv("file.csv", usecols=[1])
假设上述情况正确,我应该从这里开始根据第2列中的单元格执行逻辑?
我想使用第2列中的单元格值作为Web爬网程序的输入。它将每个结果作为搜索词输入到网页上,然后从该网页上删除数据。有没有办法同时获取数组中的每个单元格值而不是整个数组?
答案 0 :(得分:2)
基本上你的代码的熊猫是这样的:
import pandas as pd
df = pd.read_csv("file.csv", usecols=[1])
因此传递usecols=[1]
只会加载第二列,请参阅docs。
现在假设此列的名称类似于“url”,但实际上我们可以执行以下操作:
def crawl(x):
#do something
df.apply(crawl)
因此,原则上,上述内容会一次抓取列中的每个网址。
修改强>
您可以将参数axis=1
传递给apply
,以便它处理每一行而不是整个列:
df.apply(crawl, axis=1)