我尝试在给定的时间范围内从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())
''任何帮助深表感谢。谢谢。
我建议您在sqlalchemy中使用熊猫。它很容易地帮助通过SQL使用pandas
尝试一下
pd.read_sql(query_str, connection)
您颠倒了通常的事情顺序。请尝试:
query="""SELECT *
FROM public.scanning_lidar_ver2
WHERE timestamp >= %(date_start)s AND timestamp <= %(date_end)s
ORDER BY timestamp ASC, scan_id ASC, range ASC
"""