python - 将 PostgreSQL 格式化为 JSON
问题描述
我正在阅读 PostgreSQL,并希望最终将其转换为漂亮的 JSON。PostgreSQL 查询的输出包含例如“Decimal('value')”,我正试图清除它。不幸的是,这些值在这个过程中消失了,我不知道如何重写它,所以它们仍然存在。
代码:
columns = ("parameter", "timestamp", "epoch")
inputRecords = []
for row in cursor.fetchall():
inputRecords.append(dict(zip(columns,row)))
inputRecordsCleaned = [tuple(str(item) for item in t) for t in inputRecords]
inputRecordsJson = json.dumps(inputRecordsCleaned, indent=2)
输出:
inputRecords = [{'parameter': Decimal('-0.9'), 'timestamp': datetime.datetime(2020, 3, 11, 12, 16, 48), 'epoch': 1583929008}]
inputRecordsCleaned = [('parameter', 'timestamp', 'epoch')]
预期输出:
inputRecordsCleaned = [('parameter': '-0.9', 'timestamp': '2020, 3, 11, 12, 16, 48', 'epoch': '1583929008')]
解决方案
我认为您需要的理解是:
inputRecordsCleaned = [{k: str(v) for k,v in record.items()} for record in inputRecords]
使用给定的样本,它给出:
[{'parameter': '-0.9', 'timestamp': '2020-03-11 12:16:48', 'epoch': '1583929008'}]
推荐阅读
- android - [已解决]Firebase 为特定子节点返回 null 值,即使它存在
- ansible - 如何使用公共 ssh 密钥运行 Ansible Playbook
- ios - ADYEN 3.1.2(插入方法)iOS
- html - Angular:在资产文件夹发生更改时防止自动重新编译
- c - 将 SDL 库静态包含到 makefile 中
- java - 通过文件浏览器选择文件后,如何在 onActivityResult() 中使用 getContentResolver().query() 获取文件路径
- date - 我们需要在数据阶段转换中使用哪个函数来获取当月的 DATE
- google-cloud-platform - 在 Google Cloud 上欧洲和印度之间的延迟很大
- android - 如何在自定义视图 Android 中使用数据绑定
- javascript - 如何使用 VSCode 关闭特定文件的标记化