python - 如何将结构文本文件转换为熊猫数据框
问题描述
我有一个格式如下的文本文件:
"Model_1": {
"10000": {
"KPI_1": [
0,
3.0,
6.0
],
"KPI_2": [
0,
3.0,
6.0
],
}
...
"15000": {
"KPI_3": [
0,
3.0,
6.0
],
"KPI_4": [
0,
3.0,
6.0
],
...
}
"20000": {
"KPI_5": [
0,
3.0,
6.0
],
"KPI_6": [
0,
3.0,
6.0
],
...
}
}
"Model_2": {
"10000": {
"KPI_7": [
v1,
v2,
v3
],
"KPI_8": [
v1,
v2,
v3
],
...
}
"15000": {
"KPI_9": [
v1,
v2,
v3
],
"KPI_10": [
v1,
v2,
v3
],
...
}
"20000": {
"KPI_11": [
v1,
v2,
v3
],
"KPI_12": [
v1,
v2,
v3
],
...
}
}
我想得到一个具有以下结构的熊猫df:
Model_1 Model_2 ... Model_N
10000 15000 20000 10000 15000 20000 10000 15000 20000
KPI_1 {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3}
KPI_2 {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3}
KPI_3 {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3}
...
KPI_N {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3} {v1,v2,v3}
解决方案
您向我们展示的文本文件中的数据看起来很像字典,在我放置评论的两个地方似乎缺少逗号# 我在此处添加了一个逗号:
Model_1: {
"10000": {
"KPI_1": [
0,
3.0,
6.0
],
"KPI_2": [
0,
3.0,
6.0
],
}, # I added a comma here
"15000": {
"KPI_3": [
0,
3.0,
6.0
],
"KPI_4": [
0,
3.0,
6.0
],
}, # I added a comma here
"20000": {
"KPI_5": [
0,
3.0,
6.0
],
"KPI_6": [
0,
3.0,
6.0
],
}
}
如果它真的是字典,你可以将它们转换为 DataFrames:
pd.DataFrame.from_dict(Model_1, orient='index')
推荐阅读
- r - 根据 R 中存在的值添加新列
- java - Java JMenuBar 分布在窗口的整个宽度上
- javascript - 如何从 Node.js 中的工作簿中删除工作表?// 类型错误:无法读取未定义的属性“删除”
- cookies - 如何在不担心 GDPR 或 cookie 的情况下使用 Google Analytics?
- prolog - 使用 Prolog 库 Simplex 求解线性方程组
- javascript - 无法从响应标头访问访问令牌和 uid
- matlab - 使用 plot 命令绘制任何原始数据矩阵的任何段,x 轴为时间,y 轴为电压(实际数据)
- r - 使用 plotly 跨动画帧的恒定热图
- audio - ffmpeg showspectrumpic fscale=log 不渲染右声道
- javascript - OnCreate 事件的确认对话框