[英]Pandas. Set a column name as parameter
Im working with pandas and I want to set a column of the query as parameter. 我正在与熊猫一起工作,我想将查询的列设置为参数。 I try this:
我尝试这样:
res_estacion_b = pd.read_sql("SELECT date, :column FROM table_1 WHERE date BETWEEN
TO_DATE(:date_ini, 'DD/MM/YYYY HH24:MI:SS') AND
TO_DATE(:date_end, 'DD/MM/YYYY HH24:MI:SS')",
con=db, params={'date_ini': inicio, 'date_end': fin, 'column': condition.name})
The result is:
date :COLUMN
0 2009-01-01 00:00:00 PARK_DEF
1 2009-01-01 00:10:00 PARK_DEF
2 2009-01-01 00:20:00 PARK_DEF
3 2009-01-01 00:30:00 PARK_DEF
4 2009-01-01 00:40:00 PARK_DEF
5 2009-01-01 00:50:00 PARK_DEF
Instead of getting the column value, I get the column name. 我没有获取列值,而是获取列名。 Is it possible to get the values?
是否可以获取值?
simply replace the column name in a string in advance: 只需预先将字符串中的列名称替换为:
str = "SELECT date, {column} FROM table_1 WHERE date BETWEEN
TO_DATE(:date_ini, 'DD/MM/YYYY HH24:MI:SS') AND
TO_DATE(:date_end, 'DD/MM/YYYY HH24:MI:SS')".format(column=condition.name)
res_estacion_b = pd.read_sql(str, con=db, params={'date_ini': inicio, 'date_end': fin})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.