Как очистить csv базу от линий с пропусками?

Существует такая база данных, предположим, database.csv:

база данных

Необходимо удалить в ней все строки, где отсутствует эмейл, как на 7 строчке. С именем и фамилией. Записать чистую базу в новый файл.

Пробовал разбираться с csv.DictWriter, но безрезультатно.


Ответы (2 шт):

Автор решения: passant

Вообще-то на данном форуме принято сначала демонстрировать свои попытки решения вопроса, а уж потом просить помощи. Тогда проще указывать в вашем коде, где и какие ошибки вы допустили. Поскольку вы новичек - за это надеюсь в первый раз не забанят. Но вот писать за вас код как-то лень. Поэтому рассказываю, как и вы, без кода.

  1. Читаете свой с csv файл в Pandas DataFrame.
  2. В этом датафрейме удаляете строки, содержащие пропуски данных. Для этого используют метод

dropna()

Другой вариант:

df[df['....'].notna()]

  1. Полученный в результате датафрейм записывают в файл.

Нюансы, которые могут возникнуть ввиду тех особенностей вашего кода или данных, которые вы от нас скрыли, не показав скрипт, придется в таком случае вам решать самостоятельно.

→ Ссылка
Автор решения: MaxU

Воспользуйтесь модулем Pandas:

import pandas as pd   # pip install pandas

(pd.read_csv("database.csv", sep=",")
   .dropna(subset=["email"])
   .to_csv("result.csv", index=False))
→ Ссылка