【发布时间】:2019-05-11 19:19:30
【问题描述】:
我必须保存 csv 文件。 第一个看起来像这样:
第二个包含IP列表:
139.15.250.196
139.15.5.176
我想检查第一个文件中的任何给定 IP 是否在第二个文件中。这个接缝可以工作(如果我的代码被破坏,请更正或提供提示)但问题是第一个文件包含许多重复值,例如10.0.0.1 可能出现 x 次,我无法找到删除重复项的方法。你能帮助我或指导吗?
import csv
filename = 'ip2.csv'
with open(filename) as f:
reader = csv.reader(f)
ip = []
for row in reader:
ip.append(row[0])
filename = 'bonk_https.csv'
with open(filename) as f:
reader = csv.reader(f)
ip_ext = []
for row in reader:
ip_ext.append(row[0])
for a in ip:
if a in ip_ext:
print(a)
【问题讨论】:
-
你看过 Pandas 库吗?您可以使用 read_csv 命令将 CSV 导入 Panda。可能对 Pandas 中的列表进行重复数据删除。然后在 Pandas 中使用 merge 命令执行内连接,得到匹配项的列表。
-
删除 Pandas 中的重复项:chrisalbon.com/python/data_wrangling/pandas_delete_duplicates
-
为什么不创建一个set 的 IP 而不是一个列表?
-
您的代码显然不是您正在运行的;它会立即以
NameError消失(因为reader未定义)。可以发一个minimal reproducible example 可以实际运行吗?
标签: python python-3.x csv duplicates