import csv
subject = ['emergency*', 'new ticket*', 'problem with*']
from_to = ['chris*', 'timothy*', 'daniel*', 'david*', 'jason*']
a = open('D:\testfile.csv', 'w')
python新手。所以,这就是我想要做的事情。
1)打开excel csv文件
2)搜索列表中的特定关键字
3)如果找到关键字,请仅提取D,E,F列中的数据。 (因为这是关键字所在的位置)
4)将此数据写入新文件
实施例。在from_to列表中的任何关键字中搜索testfile.csv。如果这些关键字仅出现在excel的D或E列中并且如果相应的列F不等于主题列表,则写入具有D,E,F列和相关行的新文件,但是那里有很多是的,有了它
另外,我将星号放在列表中名称/项旁边以表示通配符,例如,如果from_to包含chris.gmail.com或daniel @ yahoo。
答案 0 :(得分:0)
此解决方案包含一个关键字列表,一个逐行读取的输入文件,将每一行标记为一个字符串列表,然后迭代您的关键字列表以检查它们中的任何一个是否在标记化行中。如果找到任何关键字,则将该行写入输出文件。
keywrds = ["word1", "word2", "etc"]
with open ("myfile.csv") as fin:
with open ("outfile.txt") as fout:
for line in fin:
line_tokens = line.split(",")
for word in keywrds:
if word in line_tokens:
fout.write(line_tokens[3:6].join(" ") + "\n")