【发布时间】:2021-03-30 15:18:43
【问题描述】:
我正在尝试使用对我们的 SQL 数据库的直接查询来自动处理 python 中的数据。这部分已经完成,但是代码每次都指定运行编号,当新批次开始时,您必须在代码中重新输入最新的运行编号才能继续 - 浪费时间并且重复出现!
df = pd.read_sql(f"Select time, temp from datatable where machineid=84207 and runnumber=1616862158", conn)
我想用最近的运行号更新此代码(最近的运行号将始终是每台机器的数据库中的最大值),而无需查找并输入最近的运行号。有许多不同的机器都将数据收集到 SQL 数据库中,因此必须使用每个 machineid 指定每个数据帧。同样,这部分代码已经完成,我可以为所有机器复制。但是,我不想为每一个都做这个运行编号,因为它会随着时间动态变化。
所以我正在尝试找到一种方法来创建一个将自动定义最大运行数的字符串,例如:
pp1 = pd.read_sql(f"Select Max(runnumber) from datatable where machineid=84207", conn) 打印(pp1)
max
0 1616862158
有没有办法可以将“pp1”中包含的这个值替换为下面查询行中的字符串?或者设置runnumber=max?我对 WHERE 命令或 python 命令中的语法或选项不够熟悉来设置它。有人可以帮忙吗?
df = pd.read_sql(f"Select time, temp from datatable where machineid=84207 and runnumber=1616862158", conn)
提前谢谢你!
【问题讨论】:
-
请在您的代码中添加一些格式 :)(缩进 4 个空格)
标签: python sql pandas postgresql