Pandas read csv Custom Date Format: Difference between revisions
Jump to navigation
Jump to search
Line 13: | Line 13: | ||
=<tt>date_format</tt> Parameter= | =<tt>date_format</tt> Parameter= | ||
<syntaxhighlight lang='py'> | |||
df = pd.read_csv("./timeseries.csv", parse_dates=["date"], date_format='%m/%Y/%d') | |||
</syntaxhighlight> | |||
More details on format: {{Internal|https://kb.novaordis.com/index.php/Time,_Date,_Timestamp_in_Python#Format|<tt>datetime</tt> Format}} | |||
<font color=darkkhaki>The problem with that is that I don't get a series of datetimes, but a series of objects. Why?</font> | |||
=<tt>date_parser</tt> 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 <code>read_csv</code> with the <code> date_parser</code> 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 <code>read_csv</code> with the <code> date_parser</code> parameter. | ||
Revision as of 01:39, 9 October 2023
Internal
Overview
A CSV column can be parsed as date with:
df = pd.read_csv("./timeseries.csv", parse_dates=["date"])
This assumes a "2023-10-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.
def parse_timestamp(s: str):
???
df = pd.read_csv("./timeseries.csv", parse_dates=["date"], date_format='%m/%Y/%d')
For more details on timestamp parsing see:
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 datetime
s, but a series of object
s. Why?