我需要打开一个XML文件并将其另存为CSV。 我对提取内容(即通过lmtree)不感兴趣。 我只是想让Python做我通常会做的事情(在Excel中打开XML文件并保存为CSV文件)。
我知道这可以在Excel中打开XML文件:
import subprocess
subprocess.Popen("%s %s" % (application_path, filepath))
......但我不确定从哪里开始。
提前致谢!
更新
这是一个示例文件(它是一个XML电子表格文件,如果有帮助的话): https://drive.google.com/open?id=193ML_2r5i56cEhydm1wYFQtXJCgRA3r_
不需要Python来启用编辑。我只需要阅读这个:
https://www.thrivenetworks.com/blog/turn-off-enable-editing-office-2010/
答案 0 :(得分:0)
已经为此构建了一个名为xmlutils
的库。
pip install xmlutils
以安装xml2csv --input "samples/fruits.xml" --output "samples/fruits.csv" --tag "item"
转换为CSV 有关详细信息,请参阅this site或the documentation。
答案 1 :(得分:0)
这对我有用:
pip install pyautogui
files=glob.glob(pathin+"*.xml")
def lazysave(inputs):
print("%s" % (inputs))
#subprocess.Popen("%s %s" % (path, file),shell=True)
subprocess.Popen(inputs,shell=True)
time.sleep(3)
pag.FAILSAFE = True
pag.keyDown('ctrlleft');pag.press('s');pag.keyUp('ctrlleft') #save file
pag.PAUSE = 1
pag.press('right') #go to "No - do not keep same format"
#pag.PAUSE = .5
pag.press('enter') #select "No - do not keep same format"
#pag.PAUSE = 2
pag.press('tab') #go to filetype dropdown menu
#pag.PAUSE = 2
pag.press('down') #activate filetype dropdown menu
#pag.PAUSE = 2
pag.press('down');pag.press('down') #go to CSV filetype
#pag.PAUSE = .5
pag.press('enter') #select CSV filetype
#pag.PAUSE = .5
pag.press('enter') #select "SAVE" button
#pag.PAUSE = .5
pag.press('enter') #select "Yes" button to keep CSV format
#pag.PAUSE = .5
pag.keyDown('altleft');pag.press('f4');pag.keyUp('alt') #close file
pag.PAUSE = .5
pag.press('right') #go to do not save (already saved)
#pag.PAUSE = .5
pag.press('enter') #select do not save (already saved)
for f in files:
inputs=[path,f]
lazysave(inputs)