gpt4 book ai didi

python - 提取 CSV 文件中列表中没有元素的行

转载 作者:太空宇宙 更新时间:2023-11-03 16:37:19 24 4
gpt4 key购买 nike

我有一个包含子字符串的列表,如果列表中存在的任何子字符串存在于 CSV 文件的该列中,我需要将其与 CSV 文件中的列进行比较。我想写那些在该字符串列中没有这些子字符串的行。该文件中有很多列,我只查看其中一列。

示例 my_string 列具有值

{ "This is just comparison of likely tokens","what a tough thing?"}

de = ["just","not","really ", "hat"]

我只想写“What a很难的事情?”的行

如果列中的列表中只有该单词,则效果很好。例如,如果 my_string 列具有“really”,则它不会写入新文件。但是,如果列表中的项目带有其他字符串,则无法通过。

with open(infile, 'rb') as inFile, open(outfile, 'wb') as outfile:
reader = csv.reader(inFile, delimiter=',')
writer = csv.writer(outfile, delimiter=',')

for row[1] in reader:

if any(d in row[1] for d in de):
pass
else:
writer.writerow(row[1])

最佳答案

您可以将单词编译成单个正则表达式,甚至可以进行不区分大小写的匹配,如下所示:

r = re.compile('\\b('+"|".join(de)+')\\b', re.IGNORECASE)

那么你的代码可以是:

with open(infile, 'rb') as inFile, open(outfile, 'wb') as outfile:
reader = csv.reader(inFile, delimiter=',')
writer = csv.writer(outfile, delimiter=',')

for row in reader:
if not r.search(row[1]):
writer.writerow(row[1])

关于python - 提取 CSV 文件中列表中没有元素的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com