Как удалить строки в CSV?
В общем возникла проблема. У меня есть большой csv файл с колонкой, data и есть список из значений. Мне нужно записать в другой csv-файл всю строку из файла, если в колонке data, есть значение из списка.
with open('arm.csv', newline='') as File:
with open('wdays_data.csv', mode='w') as wdays:
reader = csv.reader(File)
for row in reader:
if row[0] in weekend_days:
writer = csv.writer(wdays, delimiter=',')
writer.writerows(row[0])
Вот как пробовал я.
Ответы (1 шт):
Автор решения: Namerek
→ Ссылка
import csv
weekend_days = [
'2020-03-12',
'2020-03-13'
]
with open('import.csv', newline='') as source:
reader = csv.DictReader(source)
with open('export.csv', mode='w', encoding='utf-8-sig', newline='') as destination:
# Используйте эту кодировку ^^^
# если собираетесь открывать в Excel
writer = csv.DictWriter(destination, dialect=csv.unix_dialect, fieldnames=reader.fieldnames)
writer.writeheader()
writer.writerows(
filter(lambda x: x.get('date') not in weekend_days, reader)
) # ^^^^ Вот тут название поля с датой
