【发布时间】:2011-11-19 18:52:04
【问题描述】:
我想做一个命令行程序,希望能在 Windows 和 Linux 上运行。我想使用 Python,因为它是我选择的编程语言。目标是使程序以文件名作为参数,并以不同的格式输出文件中的信息。在这种情况下,XML -> CSV 和 CSV -> XML。
最好的方法是什么?
我知道 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 表...您的文件是否将包含具有相同长度分支的树或...?
-
是的,csv 和 xml 文件之间的差异使它有点棘手。 xml 文件是树格式的,请参阅上面的 xml 和 csv 格式的编辑。
-
</level1 id ='' attr1='' attr2=''>不是有效的 xml。 -
谢谢,是的,这是我的错字。
标签: python xml csv file-conversion