标签:dom 可扩展 ble 就是 def python 文件名 path ima
xls文件的内容写入xml文件中xml,xlrdpython操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库(就是上一篇用到的那个库)。xml又是一个什么呢?XML指的是可扩展标记语言eXtensible Markup Language,和json类似也是用于存储和传输数据,还可以用作配置文件。类似于HTML超文本标记语言,但是HTML所有的标签都是预定义的,而xml的标签可以随便定义。python解析xml可以看一下这篇文章:https://blog.csdn.net/kongsuhongbaby/article/details/84869838xls文件内容,将其数据转换成字典存储,创建xml文件并写入xls文件数据def GetXlsData(filepath):
file = xlrd.open_workbook(filepath)#打开一个xls文件,若文件名含有中文,则filepath前要加一个r,写作r‘filepath‘
sheet = file.sheet_by_index(0)
#通过索引来获取工作表,也可以选择用名称来获取,则使用sheet_by_name(sheet_name)
content = {}
for i in range(sheet.nrows):#sheet.nrows用于获取有效的行数,即写有数据的行
content.setdefault(sheet.row_values(i)[0],sheet.row_values(i)[1:])
#将xls文件中数据存入字典,第一个表示序号的当作key,后面的元素当作value
return(content)
def WriteXml(content):
xmlfile = minidom.Document()#创建xml文件
root = xmlfile.createElement(‘root‘)#创建节点
students = xmlfile.createElement(‘students‘)#创建节点
xmlfile.appendChild(root) #在文件中添加root节点
root.appendChild(students) #在root下添加students节点
comment = xmlfile.createComment(‘学生信息表 "id" : [名字, 数学, 语文, 英文]‘)
students.appendChild(comment) #在students标签下添加comment
xmlcontent = xmlfile.createTextNode(str(content)) #创建文本节点
students.appendChild(xmlcontent) #在students标签下添加文本内容
with open(‘Student.xml‘,‘wb‘) as f:
f.write(xmlfile.toprettyxml(newl=‘\n‘,encoding = ‘utf-8‘)) #写入文件
# -*- coding:utf-8 -*-
# Author:Konmu
‘‘‘
将 第 0014 题中的 student.xls 文件中的内容写到 student.xml 文件中,如
下所示:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<students>
<!--
学生信息表
"id" : [名字, 数学, 语文, 英文]
-->
{
"1" : ["张三", 150, 120, 100],
"2" : ["李四", 90, 99, 95],
"3" : ["王五", 60, 66, 68]
}
</students>
</root>
‘‘‘
import xlrd
import xml.dom.minidom as minidom
def GetXlsData(filepath):
file = xlrd.open_workbook(filepath)#打开一个xls文件,若文件名含有中文,则filepath前要加一个r,写作r‘filepath‘
sheet = file.sheet_by_index(0)
#通过索引来获取工作表,也可以选择用名称来获取,则使用sheet_by_name(sheet_name)
content = {}
for i in range(sheet.nrows):#sheet.nrows用于获取有效的行数,即写有数据的行
content.setdefault(sheet.row_values(i)[0],sheet.row_values(i)[1:])
#将xls文件中数据存入字典,第一个表示序号的当作key,后面的元素当作value
return(content)
def WriteXml(content):
xmlfile = minidom.Document()#创建xml文件
root = xmlfile.createElement(‘root‘)#创建节点
students = xmlfile.createElement(‘students‘)#创建节点
xmlfile.appendChild(root) #在文件中添加root节点
root.appendChild(students) #在root下添加students节点
comment = xmlfile.createComment(‘学生信息表 "id" : [名字, 数学, 语文, 英文]‘)
students.appendChild(comment) #在students标签下添加comment
xmlcontent = xmlfile.createTextNode(str(content)) #创建文本节点
students.appendChild(xmlcontent) #在students标签下添加文本内容
with open(‘Student.xml‘,‘wb‘) as f:
f.write(xmlfile.toprettyxml(newl=‘\n‘,encoding = ‘utf-8‘)) #写入文件
if __name__ == "__main__":
filepath = "C:/Users/Konmu/Desktop/Students.xls"
content=GetXlsData(filepath)
WriteXml(content)
xml文件的写入还可以使用如下语句 f=open(‘Snew.xml‘,‘w‘)
xmlfile.writexml(f,indent = ‘\t‘,newl = ‘\n‘, addindent = ‘\t‘,encoding = ‘utf-8‘)
f.close()

标签:dom 可扩展 ble 就是 def python 文件名 path ima
原文地址:https://www.cnblogs.com/Konmu/p/12576373.html