python - 使用理解为 Json 字典列表中的每个键添加前缀
问题描述
我希望为 a 中的每个键添加一个前缀,JSON
因此我的消息如下所示,带有tmp.
前缀
[{'tmp.p.class': 'B', 'tmp.timestamp': '2020-08-07 09:00:00'}, {'tmp.p.class': 'A', 'tmp.timestamp': '2020-08-07 09:00:05'}]
import json
x = [{'p.class': 'B', 'timestamp': '2020-08-07 09:00:00'}, {'p.class': 'A', 'timestamp': '2020-08-07 09:00:05'}]
data = json.dumps(x)
y = [{'tmp.'+k: v for k, v in d.items()} for d in data]
print(y)
Traceback(最近一次调用最后一次):文件“./prog.py”,第 5 行,在文件“./prog.py”,第 5 行,在 AttributeError 中:'str' 对象没有属性'items'
解决方案
您不需要将 python 对象序列化为字符串。您可以直接对列表进行修改x
。
y = [{"tmp." + k: v for k, v in d.items()} for d in x]
推荐阅读
- python - 我在 python 中使用 PhotoImage 制作图像,但找不到图像
- mysql - 如何在mysql中按产品ID和最新创建日期分组?
- php - 将默认内容添加到 wp_editor
- processing - 我需要帮助我在处理过程中使用参数移动对象
- grails - 有没有办法避免 amp; 在 GrailsParameterMap 中预先请求参数名称
- python - 美丽的汤 - 将属性转换为数据框 - BEA API
- java - 将微秒转换为毫秒,而不会损失精度和格式为 Java 中的日期时间
- sql-server - 在不断删除和重新插入记录的表上使用更改跟踪
- azure - 使用 Python 创建 DevOps 项目中的错误
- java - Javafx GridPane,如何使节点居中?(文字/标签)