此问题的可能解决方案在这里:
https://stackoverflow.com/a/6223961/12343395
它可能需要很多工作。
但是我已将表名存储为字符串格式,并希望根据需要调用它们。
我正在使用熊猫read_sql_query。因此,就像在params
中一样,我在WHERE
部分中传递了表名和一些参数。
WHERE
部分很好,因为参数最初是字符串。但是在FROM
部分,
我真的希望schema.table
为非字符串。
这是一个片段。
SELECT "rainfall(mm)","tmin(C)","tmax(C)","TimeStamp"
FROM crop_tables[choose_crop][0]
WHERE "District_Name" = %s AND "Season" = %s
ORDER BY "TimeStamp" ASC
在这种情况下,crop_tables[choose_crop][0]
是'sagita_historic.soyabean_daily_analyses'
。
但是FROM
将因为它不接受字符串而抛出错误。因此,从本质上讲,我希望将'sagita_historic.soyabean_daily_analyses'
剥离为非字符串。
有可能这样做吗?
谢谢。
答案 0 :(得分:0)
不确定我是否完全理解,但是也许可以吗?
SELECT "rainfall(mm)","tmin(C)","tmax(C)","TimeStamp"
FROM f"{crop_tables[choose_crop][0]}"
WHERE "District_Name" = %s AND "Season" = %s
ORDER BY "TimeStamp" ASC