Выборка заданного дня недели из 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))