我尝试在给定的时间范围内从pgadmin上的表下载数据。我有下面的代码,但它不工作,我不知道为什么
ts, te=df['Timestamp'].min(), df['Timestamp'].max()
connection=psycopg2.connect('dbname=dbname user=user '
'password=password host=IP')
print(r'Connection to database is successful')
crsr=connection.cursor()
query="""SELECT *
FROM public.scanning_lidar_ver2
ORDER BY timestamp ASC, scan_id ASC, range ASC
WHERE timestamp >= %(date_start)s AND timestamp <= %(date_end)s
"""
crsr.execute(query,
{'date_start' : ts,
'date_end':te})
df1= pd.DataFrame(crsr.fetchall())
“非常感谢您的帮助。谢谢。
2条答案
按热度按时间izkcnapc1#
值得注意的是
ORDER BY
从句总是出现在句末SELECT
声明。你只需要交换一下ORDER BY
以及WHERE
你心中的原因query
.如果您的列名是正确的,我猜您的查询的其余部分看起来没有bug!祝你好运!
我怀疑你不能用
df1= pd.DataFrame(crsr.fetchall())
. 尝试:dpiehjr42#
我建议你用Pandas炼金术。它很容易帮助使用sql
试试这个