python - fetchall() psycopg2 返回空列表
问题描述
我正在尝试使用 psycopg2 进行查询。我知道下面的查询在我在 pgAdmin 中查询时有效,但由于某种原因 retchall() 返回一个空列表。
我之前在其他查询中使用过相同的格式,并且能够获取结果,所以我很想知道是否存在格式问题或其他问题。执行它时我没有收到任何错误,它只返回一个空列表。
我也在使用 DictCursor 所以我可以通过键引用查询:https ://www.psycopg.org/docs/extras.html#dictionary-like-cursor
import db_funcs.DB as DB
import time
import psycopg2.extras
import json
import sys
def route_export(stops, project_list):
try:
cursor, connection = DB.dbInit()
dict_cur = connection.cursor(cursor_factory=psycopg2.extras.DictCursor)
for project in project_list:
drivers = []
stops = {"stops": stops[project]}
dict_cur.execute(
"""SELECT rp.route_project_id, rp.route_name, rp.driver_id, rp.route_date,
d.driver_id, d.name as driver_name, d.start_location_coords,
d.start_location_add, d.end_location_coords, d.end_location_add,
d.shift_start, d.shift_end, d.phone_number, d.speed, d.capacity, d.types,
d.breaks, d.delivery_area_id
FROM route_project rp
JOIN driver d
ON rp.driver_id = d.driver_id
WHERE TO_DATE(LEFT(route_date,10),'YYYY-MM-DD') >= NOW()
and route_name = %s """,
(project,),
)
rows = dict_cur.fetchall()
解决方案
你可以试试这个运行,看看你是否得到输出?
import db_funcs.DB as DB
import time
import psycopg2.extras
import json
import sys
def route_export(stops, project_list):
try:
cursor, connection = DB.dbInit()
dict_cur = connection.cursor(cursor_factory=psycopg2.extras.DictCursor)
for project in project_list:
drivers = []
project = str(project)
stops = {"stops": stops[project]}
q = dict_cur.execute(
'SELECT rp.route_project_id, rp.route_name, rp.driver_id, rp.route_date,
d.driver_id, d.name as driver_name, d.start_location_coords,
d.start_location_add, d.end_location_coords, d.end_location_add,
d.shift_start, d.shift_end, d.phone_number, d.speed, d.capacity, d.types,
d.breaks, d.delivery_area_id
FROM route_project rp
JOIN driver d
ON rp.driver_id = d.driver_id
WHERE TO_DATE(LEFT(route_date,10),"YYYY-MM-DD") >= NOW()
and route_name = ?', [project])
rows = q.fetchall()
推荐阅读
- python - 如何在 Python 3.3.6 上安装 pygmentize 模块
- html - 如何在使用 emailjs 时从消息正文中删除 html 标签以做出反应
- google-bigquery - 大查询在搜索中添加一个月
- kotlin - Kotlin 中 struct 的替换以及如何在运行时存储数据
- r - 标准误差条在我的图表上的错误位置
- python - 从 jinja 呈现的 html 模板生成 CSV 表 - 如何传递 python 类对象?
- html - 刷新所有页面
- sql - T SQL Count 和 Group by 可计算列
- python - 满足条件后,while循环继续运行
- amazon-web-services - AWS Jira 服务管理快速入门 502 错误网关