我正在使用Python,试图弄清楚如何基于CSV的输入来创建XML文件。在从CSV传递一行数据之前,必须使用相同的标记添加一部分静态信息。这可能是1行数据或20行。 DocFile标记的数量应为行数的两倍。
<Company>
<Identifier>Benesolv</Identifier>
<Employee>
<EESSN>111111111</EESSN>
<Dependent>
<SSN>222222222</SSN>
<EESSN>111111111</EESSN>
</Dependent>
</Employee>
</Company>
这是1行数据的样本。
以下是我到目前为止所写的内容。我遇到的问题是,只有DocFile的一部分正在将其转换为XML。仅供参考,我是Python的新手。
# Deals with all the cases of having a file vs stdin
out_to_file="N"
# Check to see if the user is running a file or just commandline input
if [ $# -ge 3 ];then
out_to_file="Y"
else # The user is not running a file so ask them if they want to output to a file
read -p "Output to a file? [y/n] " out_to_file
fi
echo $out_to_file
答案 0 :(得分:0)
没有CSV标准,这只是一种使用普通文本表示电子表格的方式,因此它实际上取决于CSV的格式。
您可以使用python csv模块从csv文件读取。 然后,您可以通过压缩键和值来处理数据以通常将它们表示为dict。 一旦将dict,lis或这两种类型的任何组合与嵌套结合在一起,就很容易将这些数据与其他数据融合或更新。 然后,您可以将生成的python数据类型转换为xml。 我通常宁愿使用json作为一种交换格式来完成这种工作,但这就是我将如何做。
您应该看一下: Serialize Python dictionary to XML 或者,您也可以使用此模块来解析,操作和编写xml: https://docs.python.org/3/library/xml.etree.elementtree.html#module-xml.etree.ElementTree
答案 1 :(得分:0)
我在朋友的帮助下弄明白了。我们添加了一个函数,该函数创建了我需要的静态XML字段,然后将我们循环通过CSV文件行的所有内容都称为该函数。 感谢您的输入!