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执行此操作?
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)