我想制作一个命令行程序,希望可以在Windows和Linux上工作。我想使用Python,因为它是我选择的编程语言。目标是让程序以文件名作为参数,并以不同格式输出文件中的信息。在这种情况下,XML - > CSV和CSV - > XML。XML CSV与Python转换
这样做的最好方法是什么?
我知道Python中有XML和CSV解析器,如xml.parsers.expat
和csv
库。我希望程序是健壮的,以便它可以输出其他格式,如.sql或其他格式。首先将数据转换为标准格式会有好处吗?像JSON一样?然后可以将输出文件制作成必要的其他格式。
谢谢。
编辑::
<level1 id ='' attr1='' attr2=''>
<level2 id ='' attr1='' attr2=''>
<type1 id ='' attr1='' attr2=''>
</type1>
<type2 id ='' attr1='' attr2=''>
</type2>
</level2>
<level2 id ='' attr1='' attr2=''>
<type2 id ='' attr1='' attr2=''>
</type2>
</level2>
</level1>
这是XML格式。注意level2中的type1和type2。现在我应该如何在csv中逐行表示这一行?
编辑#2:
我想这个问题归结为一个树状的数据结构和网格结构之间进行转换的标准方法。我最终在python中创建了一个嵌套列表,例如JSON,但没有使用JSON结构。我想知道是否有一个好的算法来进行这种转换?
XML是一种非常灵活的格式,所以如何做到这一点取决于您的XML格式以及您想要的信息。 –
您应该更清楚地说明您希望处理的文件类型。例如:XML用于表示树,而CSV表...您的文件是否将包含具有相同长度分支的树或...? – mac
是的csv和xml文件之间的差异使它有点棘手。 xml文件是树形格式的,请参阅我上面编辑的xml和csv格式。 –