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