У меня есть файл CSV, который выглядит примерно так:Как удалить строку из csv, если она содержит определенное слово?
2014-6-06 08:03:19, 439105, 1053224, Front Entrance
2014-6-06 09:43:21, 439105, 1696241, Main Exit
2014-6-06 10:01:54, 1836139, 1593258, Back Archway
2014-6-06 11:34:26, 845646, external, Exit
2014-6-06 04:45:13, 1464748, 439105, Side Exit
Я задавался вопросом, как удалить строку, если она включает в себя слово «внешний»?
я увидел еще post на SO, который выступил на очень похожий вопрос, но я совсем не понимаю ...
Я пытался использовать что-то вроде этого (как объяснено в связанном должности):
TXT_file = 'whatYouWantRemoved.txt'
CSV_file = 'comm-data-Fri.csv'
OUT_file = 'OUTPUT.csv'
## From the TXT, create a list of domains you do not want to include in output
with open(TXT_file, 'r') as txt:
domain_to_be_removed_list = []
## for each domain in the TXT
## remove the return character at the end of line
## and add the domain to list domains-to-be-removed list
for domain in txt:
domain = domain.rstrip()
domain_to_be_removed_list.append(domain)
with open(OUT_file, 'w') as outfile:
with open(CSV_file, 'r') as csv:
## for each line in csv
## extract the csv domain
for line in csv:
csv_domain = line.split(',')[0]
## if csv domain is not in domains-to-be-removed list,
## then write that to outfile
if (csv_domain not in domain_to_be_removed_list):
outfile.write(line)
В текстовом файле только одно слово «внешнее», но оно не сработало ... и я не понимаю, почему.
Что произойдет, когда программа запустится, и будет выведено output.txt, но ничего не изменится, и строки с «внешним» не будут удалены.
Я использую Windows и python 3.4, если это имеет значение.
Извините, если это похоже на очень простой вопрос, но я новичок в python, и любая помощь в этой области будет принята с благодарностью, спасибо!
Просто интересно - вам нужно делать это на питоне? есть множество инструментов командной строки, которые делают такие вещи ... grep, кто-нибудь? – rmalchow
Похоже, вы разделяете точку с запятой вместо запятой? Кроме того, для справки, PEP говорит, что вы должны использовать 'X не в Y', а не' not X in Y' –
Какая ошибка у вас возникла? – bakkal