Выборка заданного дня недели из CSV файла

Один из столбцов в файле .csv несет в себе дату в формате ДД.ММ.ГГ.

Как выбрать, например, все понедельники и поместить полные строки в новый файл?


Пример CSV файла. Начинается с года, я поменял на:

loc[pd.to_datetime(df["<DATE>"], yearfirst=True, errors="coerce").dt.weekday == 0] 

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

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

Предположим, столбец с датами называется Date и имеет формат DD.MM.YY:

import pandas as pd   # pip install pandas

df = pd.read_csv(filename)
(df
 .loc[pd.to_datetime(df["Date"], dayfirst=True, errors="coerce").dt.weekday == 0]
 .to_csv("result.csv", index=False))
→ Ссылка
Автор решения: MaxU

Формат в вопросе был указан неправильно. Приведенный в комментарии CSV файл выглядит так (т.е. формат дат: YYYYMMDD):

<TICKER>,<PER>,<DATE>,<TIME>,<CLOSE>,<VOL>
SPFB.BR,D,20100111,000000,81.3800000,2871
SPFB.BR,D,20100112,000000,79.7000000,9362
SPFB.BR,D,20100113,000000,78.8900000,15234
SPFB.BR,D,20100114,000000,78.4000000,51012
SPFB.BR,D,20100115,000000,77.1200000,25672

Соответственно и решение будет несколько отличаться:

df = pd.read_csv(r"D:\download\05.csv", dtype={"<DATE>": str})
(df
 .loc[pd.to_datetime(df["Date"], errors="coerce").dt.weekday == 0]
 .to_csv("result.csv", index=False))
→ Ссылка