Reputation: 149
I have the following code:
from pandas.io import sql
import sqlite3
conn = sqlite3.connect('breakDownRecs.sqlite')
query = "SELECT * FROM indRecs"
df = sql.read_sql(query, con=conn) #parse_dates=['DateDayId'])
print(df)
I get (correctly) something like:
DateID Usr EventTypeM DateDayID DateMonthID
0 20151007221243 Noelle LVL 20151007 201510
1 20151007225607 Morak QST 20151007 201510
2 20151007225621 Austinpower QST 20151007 201510
...
The question is how can I parse it so to become DateDayID column as a date, so to be indexed later? If I provide:
df = sql.read_sql(query, con=conn, parse_dates=['DateDayID'])
It gives me
DateID Usr EventTypeM DateDayID DateMonthID
0 20151007221243 Noelle LVL NaT 201510
1 20151007225607 Morak QST NaT 201510
...
Thank you!
Upvotes: 4
Views: 12630
Reputation: 89677
df = sql.read_sql(query, con=conn, parse_dates=['DateID'])
or
df = sql.read_sql(query, con=conn, parse_dates={'DateID': {'format': '%Y-%m-%d'}})
Upvotes: 4
Reputation: 863146
I think you need to_datetime
with parameter format
:
df['DateID'] = pd.to_datetime(df.DateID, format='%Y%m%d%H%M%S')
print df
DateID Usr EventTypeM DateDayID DateMonthID
0 2015-10-07 22:12:43 Noelle LVL NaT 201510
1 2015-10-07 22:56:07 Morak QST NaT 201510
Upvotes: 1
Reputation: 294488
Try:
import pandas as pd
df.loc[:, 'DateID'] = pd.to_datetime(df.DateID)
Upvotes: 0