【发布时间】:2019-12-10 19:17:02
【问题描述】:
正在寻找以下问题的解决方案:
我有 1 个大型 CSV (data.csv) 文件,其中包含:
first name | last name | phone number | email address 等
然后我有一个包含名称列表的 .txt 文件。文本文件将被逐行格式化
smith
johnson
jones
我希望搜索大型 CSV,并将包含该关键字的每一整行导出到另一个 CSV (Results.csv)
例子:
在 Data.csv 中搜索“Smith, Johnson, Jones”(来自 keyword.txt)会将整行(如果姓氏匹配)导出到 results.csv。
John Smith, 1234 Main St, 1800-800-8800, etc
John Johnson, 4321 South St...
等
在这里搜索,我将我正在寻找的部分内容放在一起,但仍需要弄清楚如何根据关键字匹配整行,然后将其导出为 CSV
import re
searchlist = []
with open("keyword.txt") as g:
for line in g:
searchlist.append(line.strip())
pattern = re.compile("|".join(searchlist))
with open("data.csv") as f:
for line in f:
【问题讨论】:
-
file.txt里面的数据怎么样?
-
CSV 中的字段是否包含多行文本?
-
您的示例数据与您的描述不符 - 名字和姓氏是逗号分隔的,还是您需要对全名进行文本搜索?你有一个强大的开始!在您的
for中,您应该测试该行,然后将其存储在数据结构中,直到您完成整个过程。 -
@GiovaniSalazar 文本文件将是每行一个单词。
-
@aventurin 每个单元格都是单行文本。