使用pandas.io.sql.read_frame,我可以像在read_csv中那样使用parse_dates吗?

ran*_*.me 7 python sql datetime pandas

我正在data_frame使用pandas.io.sql.read_frame以下方法直接从数据库中读取:

cnx = pandas.io.sql.connect(host='srv',user='me',password='pw',database='db')
df = pandas.io.sql.read_frame('sql_query',cnx)
Run Code Online (Sandbox Code Playgroud)

它可以很好地检索数据.但是我想解析其中一个列datetime64,类似于从CSV文件读取时可以做的事情,例如:

df2 = pandas.io.read_csv(csv_file, parse_dates=[0])
Run Code Online (Sandbox Code Playgroud)

但是没有parse_dates标志read_frame.建议采用哪种替代方法?

同样的问题适用index_col于read_csv,它指示哪个col.应该是索引.是否有推荐的方法来使用read_frame执行此操作?

oDD*_*ooL 0

df = pandas.io.sql.read_frame('sql_query', index=['date_column_name'], con=cnx)
Run Code Online (Sandbox Code Playgroud)

其中date_column_name是数据库中包含日期元素的列的名称。sql_query那么应该是这样的形式select date_column_name, data_column_name from ...

如果它类似于日期字符串,Pandas(从 0.13+ 开始)将自动将其解析为日期格式。

In [34]: df.index
Out[34]: 
    <class 'pandas.tseries.index.DatetimeIndex'>
Run Code Online (Sandbox Code Playgroud)