簡體   English   中英

如何在python中將excel自動化為xml?

[英]How can I do automation for excel to xml in python?

我的問題是我分配了一項任務,因為我必須閱讀excel文檔並將該數據存儲到XML文件中。 因此,我為此在python中完成了一個代碼。 但是當我編寫XML文件時,它給了我錯誤。

#!/usr/bin/python

import xlrd
import xml.etree.ElementTree as ET

workbook = xlrd.open_workbook('anuja.xls')
workbook = xlrd.open_workbook('anuja.xlsx', on_demand = True)
worksheet = workbook.sheet_by_index(0)
first_row = [] # Header
for col in range(worksheet.ncols):
    first_row.append( worksheet.cell_value(0,col) )
# tronsform the workbook to a list of dictionnaries
data =[]
for row in range(1, worksheet.nrows):
    elm = {}
    for col in range(worksheet.ncols):
        elm[first_row[col]]=worksheet.cell_value(row,col)
    data.append(elm)

for set1 in data :
    f = open('data.xml', 'w')
    f.write("<Progress>%s</Progress>" % (set1[0]))
    f.write("<P>%s</P>" % (set1[1]))
    f.write("<Major>%s</Major>" % (set1[2]))
    f.write("<pop>%s</pop>" % (set1[3]))
    f.write("<Key>%s</Key>" % (set1[4]))
    f.write("<Summary>%s</Summary>" % (set1[5]))

錯誤是

Traceback (most recent call last):
  File "./read.py", line 23, in <module>
    f.write("<Progress>%s</Progress>" % (set1[0]))
KeyError: 0

因此錯誤消息實際上告訴您,您沒有嘗試寫入XML文件的鍵“ 0”。

更多提示:

  1. 您在循環的每個迭代中打開XML文件,這將失敗
  2. 有更簡單的方法來創建XML文件,請查看本文https://pythonadventures.wordpress.com/2011/04/04/write-xml-to-file/
  3. 您應該檢出python調試器,這將使您可以輕松地進行調查,例如,從內部看數據循環是什么樣的。 我最喜歡ipdb https://pypi.python.org/pypi/ipdb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM