python - 如何编写一个grafana简单的json到python中的json表查询
问题描述
如何将该数据(json)转换为pandas Dataframe,以便它可以将“键”作为列填充,将“值”作为grafana简单json中的行填充到动态表格中。实际上,它不是一个完美的数组格式我如何操纵它作为数据框工作?帮助将不胜感激。
data = {"name":"john","class":"fifth"}
{"name":"emma","class":"sixth"}
无论我们有多少 json,我都想动态地将键填充为列和行作为值。
解决方案
您可以使用该pandas.DataFrame.from_dict(data)
方法。文档
一个示例可能如下所示:
import pandas as pd
data = [{"name":"john","class":"fifth"},
{"name":"emma","class":"sixth"}]
df = pd.DataFrame.from_dict(data)
结果:
class name
0 fifth john
1 sixth emma
在这种情况下,数据已经是一个字典列表(我假设这就是您在问题中的意思)。如果您在 JSON-Strings/Files 中有数据,则可以使用json模块json.loads(data_string)
中的/ 。json.load(data_file)
更新
对于像这样的grafana表数据结构:
data = [
{
"columns":[
{"text":"Time","type":"time"},
{"text":"Country","type":"string"},
{"text":"Number","type":"number"}
],
"rows":[
[1234567,"SE",123],
[1234567,"DE",231],
[1234567,"US",321]
],
"type":"table"
}
]
可以创建熊猫数据框:
keys = [d['text'] for d in data[0]['columns']]
pd.DataFrame(data=data[0]['rows'], columns=keys)
对于这样的结果:
Time Country Number
0 1234567 "SE" 123
1 1234567 "DE" 231
2 1234567 "US" 312
推荐阅读
- sql-server - 动态 SQL 中的 SQL Server 2016 中的删除表错误
- javascript - 如何使用剪贴板 API 将图像写入 Safari 中的剪贴板
- python - Tensorflow 2.x:CPU/GPU 基准测试,GPU 似乎更慢
- javascript - 如何将 ngFor 的实例发送到 ngTemplate 并传递给函数?
- csv - 如何将字段值表转置为 ABAP 中的普通表?
- kotlin - 如何在通用 Kotlin 类中将上限与空值混合
- sabre - “DailySalesReportRQ”以错误“TICKETING DATABASE ERROR”响应
- c++ - 列表无法识别子命令转换:Cmake 中的错误
- javascript - 如何在 Node.js 中执行一组同步和异步函数
- javascript - 如何在 Javascript 中获取对象的数据类型?