Emeditor удалить пустые строки

Обновлено: 05.07.2024

У меня есть большой CSV-файл, в котором некоторые строки полностью пустые. Как я могу использовать Python, чтобы удалить все пустые строки из CSV?

После всех ваших предложений, это то, что я до сих пор

Это нормально или есть лучший способ сделать это?

Используйте модуль csv :

Если вам также необходимо удалить строки, в которых все поля пусты, измените строку if row: на:

И если вы также хотите обрабатывать поля, состоящие только из пробелов, как пустые, вы можете заменить их на:

Обратите внимание, что в Python 2.x и более ранних версиях модуль csv ожидал двоичные файлы, и поэтому вам нужно открыть ваши файлы с флагом e 'b' . В 3.x это будет привести к ошибке.

Мне нужно сделать это, но у меня нет пустой строки, написанной в конце CSV-файла, как, к сожалению, делает этот код (что также делает Excel, если вы сохраняете-> .csv). Мой (даже более простой) код, использующий модуль CSV, тоже делает это:

M51_csv_proc.csv имеет ровно 125 строк; программа всегда выводит 126 строк, последняя из которых пустая.

Я прошел через все эти темы, кажется, ничто не изменит этого поведения.

Делать это с пандами очень просто. Откройте ваш CSV-файл с пандами:

В этом сценарии все CR / CRLF удаляются из файла CSV, а затем имеют такие строки:

Результат (в формате Excel CSV):

Вот решение с использованием панд, которое удаляет пустые строки.

Python-код для удаления пустой строки из CSV-файла без создания другого файла.

Def ReadWriteconfig_file (file):

Вы должны открыть второй файл, записать в него все непустые строки, удалить исходный файл и переименовать второй файл в исходное имя.

РЕДАКТИРОВАТЬ: настоящая пустая строка будет выглядеть как '\ n':

Строка со всеми пустыми полями будет выглядеть как '. \ n'. Если вы считаете это пустой строкой:

Открытие, закрытие, удаление и переименование файлов оставлено для вас в качестве упражнения. (подсказка: импортировать os, help (открыть), help (os.rename), help (os.unlink))

РЕДАКТИРОВАТЬ 2: Лоуренс Гонсалвес обратил мое внимание на то, что допустимый файл CSV может иметь пустые строки, встроенные в поля CSV в кавычках, например, 1, 'this\n\nis tricky',123.45 . В этом случае модуль csv позаботится об этом за вас. Прости, Лоренс, твой ответ заслуживает принятия. Модуль csv также решит проблемы, связанные со строкой типа "","",""\n .

Читайте также: