无法将Python dict转换为表,然后将数据导出到csv。在
dict string: {"test_sheet": {"testheader": [{"2018-12-31": {"field1": 8482000000, "field2": 166731000000, "field3": 92128000000}}, {"2018-11-30": {"field1": 7579000000, "field2": 171652000000, "field3": 85967000000}}, {"2018-10-31": {"field1": 8053000000, "field2": 176130000000, "field3": 82718000000}}, {"2018-09-30": {"field1": 8544000000, "field2": 166258000000, "field3": 79239000000}}]}}
Format of table needed:
Report Name Date Field1 Field2 Field3
test_sheet testheader 31.12.2018 8482000000 166731000000 92128000000
test_sheet testheader 30.11.2018 7579000000 171652000000 85967000000
test_sheet testheader 31.10.2018 8053000000 176130000000 82718000000
test_sheet testheader 30.09.2018 8544000000 166258000000 79239000000
尝试使用read_json将dict转换为csv
^{pr2}$但导出到csv后,所有数据都保存在第一行。在
新的详细输入数据:
{"test_sheet": {"testheader": [ {"2018-12-31": {"field1": 8482000000, "field2": 166731000000, "field3": 92128000000}}, {"2018-11-30": {"field1": 7579000000, "field2": 171652000000, "field3": 85967000000, "field4": 6679000000, "field5": 159000000}}, {"2018-10-31": {"field1": 8053000000, "field2": 176130000000, "field3": 82718000000, "field4": 1218000000}}, {"2018-09-30": {"field1": 8544000000, "field2": 166258000000, "field3": 79239000000}}], "testheader1": [ {"2018-12-31": {"field1": 8482000000, "field2": 166731000000, "field3": 92128000000, "field4": 124000000}}, {"2018-11-30": {"field1": 7579000000, "field2": 171652000000, "field3": 85967000000, "field4": 44367000000, "field5": 582000000}}, {"2018-10-31": {"field1": 8053000000, "field2": 176130000000, "field3": 82718000000, "field4": 132500000, "field5": 15847000, "field6": 1982330000}}, {"2018-09-30": {"field1": 8544000000, "field2": 166258000000, "field3": 79239000000}}]}}
此数据所需的输出格式:
Report Name Date FieldName FieldValue
test_sheet testheader 31.12.2018 Field1 8482000000
test_sheet testheader 31.12.2018 Field2 166731000000
test_sheet testheader 31.12.2018 Field3 92128000000
test_sheet testheader 30.11.2018 Field1 7579000000
test_sheet testheader 30.11.2018 Field2 171652000000
test_sheet testheader 30.11.2018 Field3 85967000000
test_sheet testheader 30.11.2018 Field4 6679000000
test_sheet testheader 30.11.2018 Field5 159000000
test_sheet testheader 31.10.2018 Field1 8053000000
test_sheet testheader 31.10.2018 Field2 176130000000
test_sheet testheader 31.10.2018 Field3 82718000000
test_sheet testheader 31.10.2018 Field4 1218000000
test_sheet testheader 30.09.2018 Field1 8544000000
test_sheet testheader 30.09.2018 Field2 166258000000
test_sheet testheader 30.09.2018 Field3 79239000000
test_sheet testheader1 31.12.2018 Field1 8482000000
test_sheet testheader1 31.12.2018 Field2 166731000000
test_sheet testheader1 31.12.2018 Field3 92128000000
test_sheet testheader1 31.12.2018 Field4 124000000
test_sheet testheader1 30.11.2018 Field1 7579000000
test_sheet testheader1 30.11.2018 Field2 171652000000
test_sheet testheader1 30.11.2018 Field3 85967000000
test_sheet testheader1 30.11.2018 Field4 44367000000
test_sheet testheader1 30.11.2018 Field5 582000000
test_sheet testheader1 31.10.2018 Field1 8053000000
test_sheet testheader1 31.10.2018 Field2 176130000000
test_sheet testheader1 31.10.2018 Field3 82718000000
test_sheet testheader1 31.10.2018 Field4 132500000
test_sheet testheader1 31.10.2018 Field5 15847000
test_sheet testheader1 31.10.2018 Field6 1982330000
test_sheet testheader1 30.09.2018 Field1 8544000000
test_sheet testheader1 30.09.2018 Field2 166258000000
test_sheet testheader1 30.09.2018 Field3 79239000000
数据集太过自定义,无法与某些框架一起使用。这是一种方法:
更新:对于第二个版本:
^{pr2}$您的数据格式非常嵌套。CSV不能很好地处理嵌套结构。在
你提供的代码可以工作-只要你预先处理你的数据。 每一行的访问方式如下:
data["test_sheet"]["test_header"][i]
像这样访问每一行,并将前两列添加到其中。在相关问题 更多 >
编程相关推荐