-1

我正在尝试遍历导入的 .csv 文件并将列中的每个值分配给变量。想法是使用该变量对 Shodan API 进行搜索,将搜索结果打印到屏幕上,然后移动到列中下一行的值,将其分配给变量,进行搜索,等等上。

这是我从迄今为止发现的东西中拼凑出来的东西......

import csv

# Initialize the API
from shodan import WebAPI
api = WebAPI("My Shodan Key")

# Open csv file

with open('C:\pythonfiles\sccm.csv', 'rb') as reader:
    sccmtable = csv.reader(reader, delimiter=';')
    #for row in sccmtable:
    #print ', '.join(row)

for row in sccmtable:
    for value in row:
        edbresults = api.exploitdb.search(value)
        print (edbresults)

似乎这是正确的开始,因为我可以将新导入的 csv 的内容打印到屏幕上,但我不确定下一步如何进行。任何帮助是极大的赞赏。

此致。

4

2 回答 2

1

为了单独搜索每行中的每个值,请执行以下操作:

for row in reader:
    for value in row:
        edbresults = api.exploitdb.search(value)
        print (edbresults)
于 2013-03-12T14:54:06.553 回答
0

关于您的第二个问题,当您的with陈述超出范围时,您的文件将被关闭。您需要在范围内阅读其内容。只需缩进。

with open('C:\pythonfiles\sccm.csv', 'rb') as reader:
    sccmtable = csv.reader(reader, delimiter=';')
    #for row in sccmtable:
    #print ', '.join(row)

    for row in sccmtable:
        for value in row:
            edbresults = api.exploitdb.search(value)
            print (edbresults)
于 2013-03-12T21:19:19.357 回答