Python 在每一行中查找匹配的字符串

我想读取 csv 文件的每一行并将行中的每个单词与字符串列表相匹配。如果行中出现任何字符串,则将该字符串写在行尾,以逗号分隔。下面的代码没有给我我想要的。


file = 'test.csv'    

read_files = open(file)

lines=read_files.read()

text_lines = lines.split("\n")

name=''

with open('testnew2.csv','a') as f:

    for line in text_lines:

        line=str(line)

        #words = line.split()

        with open('names.csv', 'r') as fd:

            reader = csv.reader(fd, delimiter=',')

            for row in reader:

                if row[0] in line:

                   name=row

                   print(name)

                   f.write(line+","+name[0]+'\n')

test.csv 的示例如下所示:


A,B,C,D

ABCD,,,

Total,Robert,,

Name,Annie,,

Total,Robert,,

而 names.csv 会看起来:


Robert

Annie

Amanda

我想要的输出是:


A,B,C,D,

ABCD,,,,

Total,Robert,,,Robert

Name,Annie,,,Annie

Total,Robert,,,Robert

目前,代码将删除不会导致匹配的行,所以我得到了:


Total,Robert,,,Robert

Name,Annie,,,Annie

Total,Robert,,,Robert


扬帆大鱼
浏览 564回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python