【问题标题】:python: convert json file into csv file that has mutliple tablepython:将json文件转换为具有多个表的csv文件
【发布时间】:2018-03-10 09:07:01
【问题描述】:

在这里,让我展示一下我的 json 数据的样子:

filename: '1'
    [
    {
     name : 'a',
     compute_time : 10,
     sparsity : 5
    },
    {
     name : 'b',
     compute_time : 20,
     sparsity : 15
    } ,...
    ]

filename: '2'
    [
    {
     name : 'a',
     compute_time : 8,
     sparsity : 9
    },
    {
     name : 'b',
     compute_time : 25,
     sparsity : 8
    } ,...
    ]

从这个json数据,通过加载多个文件,我想在一个csv文件中制作多个表:

table a:

compute_time sparsity
 10           5
  8           9

table b:

compute_time sparsity
 20           15
 25            8

这里,“a”和“b”是不同的表。

我应该这样做的原因是我需要将这个csv文件加载到Excel,并且必须使用每个表来构建一个图表。

是否可以在一个csv 文件中实现这种表?

【问题讨论】:

  • 为什么不创建一个包含names,compute_time,sparsity 列的表,然后在 Excel 中处理数据?这样就简单多了。
  • 您的输出看起来不像 csv 输出。必须有行和列。请说明您的输出必须是什么样子。

标签: python json csv


【解决方案1】:

CSV 文件是包含逗号分隔值的文件。除此之外没有其他结构。

所以当然你可以把你的数据变成那种格式:

table, a
compute_value, sparsity
10, 5
8, 9
table, b
compute_value, sparsity
20, 15
25, 8
...

但 Excel 不知道如何处理它 - 它不会理解这些应该是多个表。它只会像处理所有 csv 数据一样将它们放入行和列中,并且您必须在导入 csv 文件后手动将包含单独表格的单元格移动到不同的工作表,或者执行您想要使用该格式的任何其他操作.如果您只想从数据中创建图表,那将相当简单,因为您可以手动选择各种计算时间/稀疏单元。

但在我看来,创建三列会更容易:

name  compute_time    sparsity

或为每个名称 a、b c 等创建一个单独的 csv 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2016-11-06
    相关资源
    最近更新 更多