我是擅长在python中处理XML的人,所以对我来说很容易。 我一直在尝试将我的Excel数据传输到一个看起来像这样的xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<shelter>
<adress>..</adress>
<code>...</code>
<neighborhood>..</neighborhood>
</shelter>
<shelter>
<adress>...</adress>
<code>...</code>
<neighborhood>...</neighborhood>
</shelter>
</xml>
我的excel电子表格看起来像这样:
相当简单吧?我在excel上尝试了几个方法,我也尝试编写一个脚本,但似乎无法使它工作。 有任何想法吗? 非常感谢!
答案 0 :(得分:0)
如果这只是一次性转换,您可以使用CONCATENATE
函数来创建XML的内容。将此公式放在所有行的D
列中:
=CONCATENATE("<shelter><adress>",A2,"</adress><code>",B2,"</code><neighborhood>",C2,"</neighborhood></shelter>")
然后将文本复制到新文件,在第一行和最后一行添加相应的XML
标记,您就完成了。
如果您需要在Python中执行此操作,请将文件另存为CSV,以便您有类似的内容(请注意,标题行已从此文件中删除):
adress1,1,n1
adress2,2,n1
adress3,3,n1
然后,您可以使用以下Python脚本来获得所需的输出:
print '<?xml version="1.0" encoding="UTF-8"?>'
with open('test.csv','r') as f:
for x in f:
splitted = x.split(',')
print """
<shelter>
<adress>{0}</address>
<code>{1}</code>
<neighborhood>{2}</neighborhood>
</shelter>""".format(x[0],x[1],x[2])
print '</xml>'