2016-06-07 301 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

相關問題