如何修改Python代码获取PostgreSQL表中匹配文件的filename与remarks
解决方案
修改后的完整代码如下:
import psycopg2 conn = psycopg2.connect("dbname=mydatabase user=myuser password=mypassword") cur = conn.cursor() files_name = ["file_789", "file_456", "file_555", "file_111"] # 修改SQL查询,同时获取filename和remarks字段 sql = "SELECT filename, remarks FROM xml_job WHERE filename IN %s" cur.execute(sql, (tuple(files_name),)) # 直接使用fetchall()的结果,无需额外处理 matching_files = cur.fetchall() print(matching_files) cur.close() conn.close()
关键修改点:
- SQL语句调整:将
SELECT filename改为SELECT filename, remarks,让查询结果返回每个匹配文件对应的文件名和备注字段值。 - 移除多余的列表推导:原代码中
matching_files = [f[0] for f in matching_files]会丢弃备注信息,现在直接保留fetchall()返回的元组列表,每个元组自然包含(filename, remarks)两个元素,满足你需要的输出格式。
内容的提问来源于stack exchange,提问作者user20457508
相关产品推荐
相关产品推荐

