喵宅苑 MewoGarden × 技术宅社区II | Z站 Z Station 棒棒哒纯文字二次元技术社区

正文

python读取EXCEL写入到XML大致操作代码

作者:fancymch
[i=s] 本帖最后由 fancymch 于 2013-4-10 12:16 编辑 咱最近在用PYTHON写EXCEL导出到XML工具。稍微写几个常用的代码,写的不好,希望大神勿喷!纯属个人喜好~~ #咱用了以下模块,可能有无用的~~ # -*- coding: utf-8 -*- import os import sys import re import win32com.client from INIFILE import INIFILE from xml.dom import minidom from xml.dom.minidom import Document from EXCEL import easyExcel #得到当前路径 curdir = os.path.abspath('.') >>>>curdir为当前你的.py所在的路径 #读取文件 inifile = INIFILE((curdir+'\\TaskTable.ini').decode('utf-8')) =====这里我用了网上写了一个CLASS类。 >>>>这里是.PY所在路径下的一个名为TaskTable的配置文件,用UTF-8读取,我的ini是保存的以UTF-8无BOM格式。 关于INI文件配置什么的,可以自己定义配置,这个我就不写了 #二维列表,作为读取EXCEL中单元格而存储。 G = [[0 for L in xrange(0,Lie)] for H in xrange(0,Hang)] print "Excel start" excelfile = easyExcel(xlsx) #这里我用了网上的EXCEL类,作用是打开EXCEL if excelfile.Init(): for i in xrange(0,Hang): for j in xrange(0,Lie): G[j] = excelfile.getCell(sheet, i+1, j+1) #这里把EXCEL中第sheet页中的X行Y列内容赋值到G[j]列表中,EXCEL中从1行1列。 #取整,去除格式,转化字符串 if isinstance(G[j],float): G[j] = int(round(G[j])) G[j] = '%d' %G[j] G[j] = '%s' %G[j] G[j] = G[j].replace("\n","\\n") G[j] = G[j].strip() G[j] = G[j].replace("None","") excelfile.close() print "Excel finish" #到这里EXCEL就完结了 #开始XML操作 doc = minidom.Document() tasks = doc.createElement("tasks") doc.appendChild(tasks) aaa = doc.createComment(u"这里是注释") #这里写注释 u的话可以排除直接用CMD运行的编码错误 tasks.appendChild(aaa) task = doc.createElement("task") #这里创建 task.setAttribute("id", G[0]) #这里写数据 tasks.appendChild(task) #这里添加 xmlText = doc.toprettyxml(indent = " ", newl = "\n", encoding = "utf-8") #这里写格式啥的 xmlFile = open(xml.decode('utf-8'), 'w') #这里打开XML文件,用UTF-8打开 xmlFile.write(xmlText) xmlFile.close() #XML操作结束 写到这里就差不多结束了。纯属个人喜好,望大神勿喷! 运行结果 <?xml version="1.0" encoding="utf-8"?> <tasks> <!--这里是注释--> <task id="10001"> </task> </tasks> 大致就这样。结束~~

回复

0%
站点地图友情链接:
喵宅苑
喵空间社区程序
喵宅苑 静态版
宅喵RPG地图编辑器
络合兔
Lanzainc
技术宅
小五四博客
莉可POI
Mithril.js
枫の主题社
Project1
午后少年
机智库
七濑胡桃
xiuno
幻想の日常
魂研社
Nothentai
0xffff
欲望之花
泽泽社长
淀粉月刊
HAYOU