2016-06-07 76 views
0

我在网上发现了几个类似的问题,关于如何在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文件将有重复。

回答

1

需要内置​​检查,如果任何的元组的话出现在一排:

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

+0

哦哇,我尝试过使用任何(),但没有工作。然而你的答案有效!非常感谢。 – shishh03

相关问题