使用python pandas将json转换为csv

时间:2019-03-06 16:09:37

标签: python pandas

如何使用python pandas将Json文件转换为csv文件 读取文件:

with open('temp.txt') as f:
    content = f.read().replce('U','')
d=json.loads(content)

输入:

 {"D":{
    "1":"66",
    "2":"77",
    "3":"3"
},"A":{
    "11":"166",
    "12":"177",
    "13":"13"
}}U
{"X":{
"2":"5",
"3":"4"}}U
{"E":{
"4":"55",
"6":"33"}}U

输出的csv文件应为

    D1,D2,D3,A11,A12,A13,X2,X3,E4,E6
66,77,3,166,177,13,NA,NA,NA,NA
NA,NA,NA,NA,NA,NA,5,4,NA,NA
NA,NA,NA,NA,NA,NA,NA,NA,55,33

1 个答案:

答案 0 :(得分:0)

const _when = $routeProvider.when;
$routeProvider.when = (path, route) => _when.call($routeProvider, path, {
  ...route,
  resolve: {
    ...route.resolve,
    'currentUser': [ 'UserService', UserService => UserService.getCurrentUser() ]
  }
});

输出:

import pandas as pd
import json

with open('test.json') as f:
    content = f.read().replace('U',',')[::-1].replace(',', '', 1)[::-1]
    content = '[{}]'.format(content)

l = json.loads(content)
d = [{k1+k2: v2 for k2,v2 in v1.items()} for x in l for k1,v1 in x.items()]

df = pd.DataFrame(d2, columns=[k for x in d for k in x.keys()])
print(df)

并保存到CSV文件: D1 D2 D3 A11 A12 A13 X2 X3 E4 E6 0 66 77 3 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN 166 177 13 NaN NaN NaN NaN 2 NaN NaN NaN NaN NaN NaN 5 4 NaN NaN 3 NaN NaN NaN NaN NaN NaN NaN NaN 55 33