【发布时间】:2022-06-10 23:50:13
【问题描述】:
我正在研究将 excel 转换为嵌套 json 的方案,该方案将扩展到标题和项目。 尝试如下:
能够使用 pandas 应用转换规则:
df['Header'] = df[['A','B']].to_dict('records')
df['Item'] = df[['A', 'C', 'D'].to_dict('records')
这样,我可以将记录分成单独的数据框。 在下面申请:
data_groupedby = data.groupby(['A', 'B']).agg(list).reset_index()
result = data_groupedby['A','B','Item'].to_json(orient='records')
这给了我所需的带有标题的 json 以及作为嵌套深层结构的项目的进一步钻取。 使用 groupby,我可以对标题字段进行分组,但无法将分组依据应用于各个项目,并且无法正确分组。 关于我们如何实现它的任何想法。
示例 DS: 电子表格: A B C D 100 测试1 XX10 L 100 测试1 XX10 L 100 测试1 XX20 L 101 测试2 XX10 L 101 测试2 XX20 L 101 测试2 XX20 L
电流输出: [ { “一”:100, “B”:“测试1”, “物品”: [ { “一”:100, “C”:“XX10”, “D”:“L” }, { “一”:100, “C”:“XX10”, “D”:“L” }, { “一”:100, “C”:“XX20”, “D”:“L” } ] }, { “一”:101, “B”:“测试2”, “物品”: [ { “一”:101, “C”:“XX10”, “D”:“L” }, { “一”:101, “C”:“XX20”, “D”:“L” }, { “一”:101, “C”:“XX20”, “D”:“L” } ] } ]
如果您查看 Array Items,相同的值不会被分组并重复。
谢谢 TC
【问题讨论】:
-
你能提供一个示例输入和一个示例所需的输出吗?
-
嗨@965311532,Excel 中的示例输入:A B C D 100 Test1 XX10 L 100 Test1 XX10 L 100 Test1 XX20 L 101 Test2 XX10 L 101 Test2 XX20 L 101 Test2 XX20 L 我想将其转换为json 如下: [{A: 100, B: Test1, Item:[{C: XX10, D: L}, {C: XX10, D: L}]}, {A:101, B: Test2: Item: [{C: XX10, D: L}, {C:XX20, D:L]}] 我目前得到的内容如下:[{A: 100, B: Test1, Item:[{C: XX10, D : L},{C: XX10, D: L},{C: XX10, D: L}]}, {A:101, B: Test2: Item: [{C: XX10, D: L},{C :XX20, D:L}, {C:XX20, D:L}].}] 。感谢TC
-
@Chackraborty 请以正确的格式将其发布在问题中
-
空间限制可能导致:
-
在原始问题中更新。如果您看得更清楚,请检查一下。