Pandas read csv Custom Date Format
Jump to navigation
Jump to search
Internal
Overview
A CSV column can be parsed as date with:
df = pd.read_csv("./timeseries.csv", parse_dates=["date"])
This assumes a YYYY-MM-DD
"2023-12-31" format. If the string format is different there are several options:
date_format Parameter
df = pd.read_csv("./timeseries.csv", parse_dates=["date"], date_format='%m/%Y/%d')
More details on format:
The problem with that is that I don't get a series of datetimes, but a series of objects. Why?
date_parser Parameter
For more complicated formats, the parsing function can be provided as a named function or a lambda, and that function can be passed to read_csv
with the date_parser
parameter. Do not use it, it will be deprecated for performance reasons.
def parse_timestamp(s: str):
from datetime import datetime
return datetime.strptime(s, "%m/%d/%Y")
df = pd.read_csv("./timeseries.csv", parse_dates=["date"], date_parser=parse_timestamp)
For more details on timestamp parsing see: