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

本帖最后由 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"?>

*本站禁止HTML标签噢*

<!--这里是注释-->

<task id="10001">

</task>

</tasks>

大致就这样。结束~~

jimsshom
如果只是日常需要读取
展开Biu

不错,如果只是日常需要读取excel的话可以直接保存成csv文件处理更方便。

[查看全文]
foodszhu
不错看好你哦
展开Biu

不错看好你哦!

[查看全文]