如何使用正则表达式在csv文件中搜索ip地址?

时间:2017-05-03 15:37:57

标签: python regex csv typeerror

认为我在这里做了一些蠢事,如何使用正则表达式在python中搜索文件中的ip地址?

到目前为止,这就是我所拥有的:

def ip():
    ip = csv.reader(open('IP.csv'), delimited=',', quotechar='|')
    for x in ip:
       match = re.findall(r'(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})',x)
       if x == ipmatch:
          print(x)

当我运行时,我在哪里错误地获取TypeError: expected string or bytes-like object?是否试图在错误的地方使用匹配变量?

1 个答案:

答案 0 :(得分:0)

CSV文件是一系列行,每行都有多个字段。您的x变量依次引用每一行;但是一行是一个列表,你不能在列表中使用正则表达式。

我不确定你想要做什么;如果每行只有一个字段,则根本不应该使用csv模块,只需遍历文件中的行。