【发布时间】:2019-07-30 02:34:33
【问题描述】:
我正在尝试将 json 对象转换为 csv 文件。当我传递 obj 并打印它时,它工作得很好。但是当我从#Problem 行继续时,我得到一个AttributeError:'str' 对象没有属性'keys'。 我通过了完全相同的对象。如何修复此错误并让它正常运行?
import json
import csv
import os
def flattenjson( b, delim ):
val = {}
for i in b.keys():
if isinstance( b[i], dict ):
get = flattenjson( b[i], delim )
for j in get.keys():
val[ i + delim + j ] = get[j]
else:
val[i] = b[i]
return val
jjj = {
"pk": 22,
"model": "auth.permission",
"fields": {
"codename": "add_message",
"name": "Can add message",
"content_type": 8
}
}
print(flattenjson(jjj , "__" ))
#Problem
input = map( lambda x: flattenjson( x, "__" ), jjj )
columns = [ x for row in input for x in row.keys() ]
columns = list( set( columns ) )
with open( 'sad.csv', 'wb' ) as out_file:
csv_w = csv.writer( out_file )
csv_w.writerow( columns )
for i_r in input:
csv_w.writerow( map( lambda x: i_r.get( x, "" ), columns ) )
【问题讨论】:
标签: python json csv export-to-csv