python - Pandas - 从字典和数组创建 xlsx
问题描述
假设我有以下数组:
x = [
{
"id": "1",
"array": ["2", "3", "4"]
},
{
"id": "2",
"array": ["5"]
},
{
"id": "3",
"array": ["6", "7", "8"]
}
]
我正在尝试使用 pandas 创建一个电子表格,并且一旦以动态方式创建了数组,我就面临着将位于 dict 中的数组的内容合并为列的一部分的挑战。
目前的做法:
import pandas as pd
df = pd.DataFrame({'id': []})
for item in x:
df = df.append(item, ignore_index=True)
df.to_excel('test.xlsx', 's')
电流输出:
id array
0 1 ['2', '3', '4']
1 2 ['5']
2 3 ['6', '7', '8']
预期输出:
id array
0 1 2 3 4
1 2 5
2 3 6 7 8
有任何想法吗?
解决方案
使用join
df.array=df.array.apply(' '.join)
df
Out[211]:
id array
0 1 2 3 4
1 2 5
2 3 6 7 8
更新
pd.concat([df,pd.DataFrame(df.array.tolist())],1)
Out[249]:
id array 0 1 2
0 1 [2, 3, 4] 2 3 4
1 2 [5] 5 None None
2 3 [6, 7, 8] 6 7 8
推荐阅读
- python - 带有一个顶级 git 存储库的 VS Code 多根工作区
- mysql - 我使用 UNION 的 mysql 查询出错
- java - 是否可以使用 adb 从 Android 设备上的应用程序中检测到消息警报之类的音调?
- kubernetes - rabbitmq-alerts:流错误:流 ID 95;使用 helm 安装 rabbitmq 时出现 INTERNAL_ERROR
- javascript - 无法让我的警报与日历一起正常工作
- oracle - 在 PL/SQL 中执行外部函数时出错
- html - 使表格行中的所有 td 大小相同
- list - 无法从 sqflite 数据库中获取所有用户并使用颤振显示在列表中
- vue.js - 在底部设置页脚部分,VueJs
- angular - 如何将离子数据存储与 BehaviorSubject 和 Observable 一起使用