12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import json
- import psycopg2
- def query_database(cursor,nm_values):
- try:
- # 要查询的 nm 值列表
- # 参数化查询
- query = """
- SELECT
- nm, v
- FROM realtimedata
- WHERE nm IN %s;
- """
- # 执行 SQL 查询,传递一个元组作为 IN 子句的参数
- cursor.execute(query, (tuple(nm_values),))
- # 获取查询结果
- results = cursor.fetchall()
- #json_str = results = json.dumps(results)
- # 将列表转换为字典
- # 构建字典,根据值的类型转换为 int 或 float
- result_dict = {row[0]: float(row[1]) if '.' in row[1] else int(row[1]) for row in results}
- # 将字典转换为 JSON 字符串
- json_str = json.dumps(result_dict, ensure_ascii=False, indent=4)
- # 打印 JSON 字符串
- print("数据库连接已关闭")
- return json_str
- except psycopg2.Error as e:
- print("数据库操作出错")
- print("错误详情:", e)
|