通过字典值迭代,分配给变量

时间:2013-03-11 17:42:31

标签: python python-2.7 shodan

我正在尝试迭代导入的.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的内容打印到屏幕上,但我不确定如何采取下一步。非常感谢任何帮助。

最好的问候。

2 个答案:

答案 0 :(得分:1)

要分别搜索每行中的每个值,请执行以下操作:

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

答案 1 :(得分: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)