我在做一个解析csv文件的小项目
所以我正在处理的csv文件应该包含用逗号分隔开的端口的ip
192.168.10.45,80443,20,218080
192.168.10.49,22,80,21
所以,我试图读取这个文件,然后为每个端口写一个输出文件,其中包含该端口的IP地址。例如 22.txt应包含
192.168.10.45 192.168.10.49
你知道我怎么做吗?还是个好的推荐信。我在Python3号里还是个傻瓜
import csv
import sys
with open(sys.argv[1], 'rt') as f:
reader = csv.reader(f)
for row in reader:
print((row)[1])
提前谢谢!在
我没有使用csv库,因为你的csv没有报头,并且有可变数量的开放端口。它更简单,代码/深度更少。这种方式。在
没有csv软件包的版本1
带有csv软件包的版本2
^{pr2}$示例输入:test1.csv
样本输出:
你应该考虑使用Python字典,或者dict。collections库中还有一个OrderedDict。在
例如:
现在您将有一个按端口(键)排序的dict,对于每个键,项(值)将是ip地址。要遍历每个密钥,请为该密钥创建一个文件,并将我留给您的所有IP地址写入。在
当然,为了提高可读性和可测试性,可以将上述代码重构为几个函数。在
假设要查找的端口是脚本的第二个参数,则可以执行以下操作:
在这里,对于文件中的每一行,
if port in row[1:]
将在列表的每个元素中查找端口。我想这就是你想要的?在注意,我稍微修改了
print
行,以便也打印端口。在相关问题 更多 >
编程相关推荐