如何检查CSV列中是否包含多个单词?
问题描述:
我在网上发现了几个类似的问题,关于如何在CSV文件的特定列中查找单词,但是,我没有找到任何关于检查多个单词的问题。 这里的问题:如何检查CSV列中是否包含多个单词?
words = ‘something’
for row in data:
if words not in row[‘column header name’]:
writer.writerow[row]
上面的代码打印的所有数据到CSV文件。它还检查'something -...'是否在行['列标题名称']中,然后跳过该行。 例如,在该列中,每个单元格都包含诸如“something-asdas”或“something-aaaa”之类的字符串。它正在检查该字符串的一部分并跳过它。
目标:
words = (‘something’, 'word' , 'dada')
for row in data:
if words not in row[‘column header name’]:
writer.writerow[row]
当我尝试这样做,我得到类型错误:“在”要求的字符串作为左操作数,而不是元组。 关于如何解决该问题的任何想法?我尝试遍历元组,但是然后我的csv文件将有重复。
答
需要内置检查,如果任何的元组的话出现在一排:
words = ("something", "word" , "dada")
for row in data:
# skipping rows containing any of the "words"
if not any(word in row["column header name"] for word in words):
writer.writerow(row)
当然,这个假设row
是一本字典,你已经使用了DictReader
。
哦哇,我尝试过使用任何(),但没有工作。然而你的答案有效!非常感谢。 – shishh03