Я пытаюсь удалить строку из файла csv, если второй столбец соответствует строке. Мой файл csv имеет следующую информацию:Удалить определенную строку в файле csv с помощью python
Name
15 Dog
Я хочу, чтобы строка с «именем» удалялась. Используемый мной код:
import csv
reader = csv.reader(open("info.csv", "rb"), delimiter=',')
f = csv.writer(open("final.csv", "wb"))
for line in reader:
if "Name" not in line:
f.writerow(line)
print line
Но строка «Имя» не удаляется. Что я делаю не так?
EDIT: Я использовал неправильный разделитель. Смена его на \ t сработала. Ниже приведен код, который работает сейчас. импорт CSV
reader = csv.reader(open("info.csv", "rb"), delimiter='\t')
f = csv.writer(open("final.csv", "wb"))
for line in reader:
if "Name" not in line:
f.writerow(line)
print line
Ваших отступов не ввинчиваются в вашем примере коды (без отступа после для цикла). Не могли бы вы это исправить? Поскольку никакие строки не отфильтровываются, вы можете предположить, что '' Name "not in line' всегда оценивает значение' True'. Возможно, вы могли бы показать нам, как выглядит файл? –
Извините, что есть отступы, но он не был отформатирован правильно, когда я его сохранил. На всякий случай http://pastebin.com/9XwBkUx7 там тоже – Howli