在python中,我有一个由列表和字典组成的复杂对象层次结构。我想把它全部吐出CSV或其他类型的数据库格式。非常感谢Python或Javascript中的任何答案。
我知道一个CSV文件(或表)只能表示层次结构中一个“级别”的对象,因此解决方案需要创建多个文件。
下面是一个例子:
{
"Person" : [{"name":"Greg","age":"35","car":["honda civic","ford focus"]},
{"name":"Steve","age":"28", "car":["mazda 323", "toyota camry"]}]
}
会变成
Person.csv:
id,name,age
1,Greg,35
2,Steve,28
car.csv:
id,Person_id,value
1,1,honda civic
2,1,ford focus
3,2,mazda 323
4,2,toyota camry
基本上,这里唯一有趣的事情是分配新的id,以便可以关联表中的行。
干杯, 戴夫
如所示:
为每一行创建一个主键(PK)。
在车和人之间创建外键(FK)关系。似乎汽车对人有“依赖”关系。
第一步。对JSON对象使用
enumerate
。这会给你每个人一个方便的PK。第二步。使用每个人的方便PK作为您创建的每辆车的FK。
唯一令人不快的是将PK分配给Cars,因为在您的特定数据结构上没有使用
enumerate
的方便方法。为此,你必须使用一个好的旧柜台。http://docs.python.org/library/functions.html#enumerate
试试这样的。
#现在您有了json到csv的格式化文件,可以使用awk
。。。
相关问题 更多 >
编程相关推荐