遍历字典值并赋值给变量

-1 投票
2 回答
1410 浏览
提问于 2025-04-17 18:43

我正在尝试遍历一个导入的 .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

关于你的第二个问题,当你的 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)
1

为了逐行搜索每个值,可以这样做:

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

撰写回答