Я хотел бы найти подстроку в строках csv-файла. Вот что у меня есть. Я знаю, что он не выполняет поиск, и я не пишу вывод правильно.Python: простой фильтр подстроки csv
import csv
def filterCSVfile (path):
filterSubstrings = ['signal1', 'signal2']
csvData = open (path)
filereader = csv.reader(csvData, delimiter=',')
rows = [row for row in filereader if row in filterSubstrings]
outFileHandle = open("output.csv", "w")
outFileHandle.write(rows)
outFileHandle.close()
filterCSVfile('history.csv')
EDIT
Файл CSV содержит два столбца, один является читаемым человеком даты и время, а другой является URL, например:
2016-02-12 15:37:15,http://www.youtube.com/watch?v=wt60lVB8sHo
2016-02-12 15:37:15,https://www.youtube.com/watch?v=wt60lVB8sHo
2016-02-12 15:54:33,http://kizi.com/games/paintworld-2-monsters
2016-02-12 16:12:56,http://kizi.com/games/u/icycle
2016-02-12 16:13:03,http://kizi.com/games/u/iron-turtle
2016-02-12 16:13:46,http://www.armorgames.com/
2016-02-12 16:13:46,http://armorgames.com/
Я хотел бы для извлечения строк, которые содержат либо «сигнал1», либо «сигнал2» в URL-адресе, например, http://signal1.com.
Я думаю, что вы ищете, что весь CSV строка содержится в фильтрах ... Если вероятно проверить пересечение? – karina
Строки должны содержать как «сигнал1», так и «сигнал2» или один из них? – SparkAndShine
Я фильтрую, чтобы держать строки, содержащие либо «сигнал1», либо «сигнал2» и отбрасывать все остальные строки. Я попробовал ваш код ниже, и он возвращает пустой файл. – interwebjill