Emeditor удалить пустые строки
У меня есть большой 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 .
Читайте также: