使用python在csv文件中包含regex的单元格内容

2024-04-25 05:59:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv文件,比如=>

apple, 23, 45 
abricot, 45 12
grape,  123 985
apple, 18, 450

我想通过标识符获取行,例如从apple行获取。。 这是我的密码:

import csv
import re
exampleFile=open('test-csvred.csv')
exampleReader = csv.reader(exampleFile)
for row in exampleReader:
    a=str(row)
    print ('Row #' + str(exampleReader.line_num)+' ' +a)
    t=re.match("apple(.*)",a).group(1)

代码给我=>;NoneType'对象没有属性'group' 我真的不知道我犯了什么错。。。 提前谢谢


Tags: 文件csvimportgtre密码applegroup
1条回答
网友
1楼 · 发布于 2024-04-25 05:59:05

您的代码基本上是在做str.startswith可以做的事情:

with open("in.txt") as f:
    for line in f:
        if line.startswith("apple"):
            print(line)

你的代码显然会失败,除非每一行都以"apple"作为match开始,或者search在没有匹配时返回None。你的csv文件看起来也是一团糟,有不同数量的空白和缺少逗号,因此不适合由csv库解析。你知道吗

如果还需要行号,请使用enumerate

with open("in.txt") as f:
    for ind, line in enumerate(f, 1):
        if line.startswith("apple"):
            print(line)

相关问题 更多 >