python csv文件转换成xml, 构建新xml文件

csv文件

code

from xml.etree.ElementTree import Element,ElementTree,tostring
import json,csv

def csvtoxml(fname):
    with open(fname,‘r‘) as f:
        reader=csv.reader(f)
        header=next(reader)
        root=Element(‘Daaa‘)
        print(‘root‘,len(root))
        for row in reader:
            erow=Element(‘Row‘)
            root.append(erow)
            for tag,text in zip(header,row):
                e=Element(tag)
                e.text=text
                erow.append(e)
    beatau(root)
    return ElementTree(root)

def beatau(e,level=0):
    if len(e)>0:
        e.text=‘\n‘+‘\t‘*(level+1)
        for child in e:
           beatau(child,level+1)
        child.tail=child.tail[:-1]
    e.tail=‘\n‘ + ‘\t‘*level

et=csvtoxml(r‘C:\Temp\ff.csv‘)
et.write(r‘C:\Temp\fff.xml‘)

out

<Daaa>
                <Row>
                                <Summary>summary1</Summary>
                                <IssueType>2</IssueType>
                                <Status>do do</Status>
                                <Priority>hi</Priority>
                                <Assignee>ui1</Assignee>
                                <Components>11</Components>
                </Row>
                <Row>
                                <Summary>summary2</Summary>
                                <IssueType>3</IssueType>
                                <Status>do do2</Status>
                                <Priority>hi2</Priority>
                                <Assignee>ui2</Assignee>
                                <Components>12</Components>
                </Row>
                <Row>
                                <Summary>summary2</Summary>
                                <IssueType>4</IssueType>
                                <Status>do do2</Status>
                                <Priority>hi2</Priority>
                                <Assignee>ui2</Assignee>
                                <Components>13</Components>
                </Row>
                <Row>
                                <Summary>summary4</Summary>
                                <IssueType>5</IssueType>
                                <Status>do do4</Status>
                                <Priority>hi</Priority>
                                <Assignee>ui4</Assignee>
                                <Components>14</Components>
                </Row>
                <Row>
                                <Summary>summary5</Summary>
                                <IssueType>6</IssueType>
                                <Status>do do5</Status>
                                <Priority>hi2</Priority>
                                <Assignee>ui5</Assignee>
                                <Components>15</Components>
                </Row>
                <Row>
                                <Summary>summary6</Summary>
                                <IssueType>7</IssueType>
                                <Status>do do6</Status>
                                <Priority>hi2</Priority>
                                <Assignee>ui6</Assignee>
                                <Components>16</Components>
                </Row>
                <Row>
                                <Summary>Summary</Summary>
                                <IssueType>8</IssueType>
                                <Status>Status</Status>
                                <Priority>Priority</Priority>
                                <Assignee>Assignee</Assignee>
                                <Components>17</Components>
                </Row>
                <Row>
                                <Summary>summary7</Summary>
                                <IssueType>9</IssueType>
                                <Status>do do7</Status>
                                <Priority>hi7</Priority>
                                <Assignee>ui7</Assignee>
                                <Components>18</Components>
                </Row>
                <Row>
                                <Summary>summary8</Summary>
                                <IssueType>10</IssueType>
                                <Status>do do8</Status>
                                <Priority>hi8</Priority>
                                <Assignee>ui8</Assignee>
                                <Components>19</Components>
                </Row>
</Daaa>

原文地址:https://www.cnblogs.com/baxianhua/p/10478514.html

时间: 2024-10-01 08:10:56

python csv文件转换成xml, 构建新xml文件的相关文章

openssl生成csr文件,将crt和key文件转换成tomcat下的jks文件

openssl req -new -newkey rsa:2048 -nodes -keyout 1dottea.com.key -out domain.com.csr 这条命令将会生成2个文件:1个csr文件和1个key文件 domain.com.csr domain.com.key 将csr文件内容复制粘贴到godaddy中,点击申请. 申请成功之后,下载将会得到一个zip压缩包,我选择的时候选择的是其他类型(没有nginx服务器,所以选择的其他). 压缩包里面有2个类似下面的文件 313f

将jar文件转换成exe可执行文件[转]

将jar文件转换成exe可执行文件: exe文件使用方便,而且还可以提高源码及资源的安全性,但同时也失去了java的初衷--跨平台性. 如果你坚持要转换成exe文件,请按以下方式进行: 利用exe4j这个软件转换jar文件为exe文件,exe4j下载地址:http://www.ej-technologies.com /download/exe4j/files.html,(目前最新版本为4.2)http://download.csdn.net/source /2393519有的需要安装,有的只要解

怎么将oracle的sql文件转换成mysql的sql文件

将sql文件导入PowerDesigner中的方法(将oracle sql文件转换成mysql) 将xxxxxx.sql文件的数据库结构导入powerdesigner 的方法 步骤如下: 第一步:将要导入的库的所有表的表结构(不要表数据,只要表结构)导出成一个.sql文件. 第二步:在powerdesinger里找到 File >> Reverse Engineer >> Database ,如下图 图一,选择“share the DBMS definition”然后点击确定.注意

如何将PDF文件转换成Excel文件,这种方法你绝对没见

PDF文件一直是我们最头疼的文件,这种文件不仅很特殊,而且就连很多公司都不敢使用这种文件,原因就在于这种文件不好编辑,如果想将PDF文件转换成其他格式的文件我们该怎么做呢,下面小编就教大家一个方法! 首先我们要认识一款转换软件--迅捷PDF转换器,很多人肯定都没听说过这种软件,这是一种可以将PDF文件的格式转换成另一种格式的软件,而且转换的速度更加的精准.简单! 打开这款迅捷PDF转换器,在软件的左侧会有很多文件转换的格式,我们选择文件转换成其他格式中的--文件转Excel,然后再点击"添加文件

CAD图纸转换成高质量的PDF文件,两种方法一步搞定哦

其实提到CAD,可能大家都大致的了解,CAD现在已经是建筑行业运用的非常广泛的一个设计软件了,其实CAD就是一种计算机辅助软件,可以高效的帮助我们进行图纸的绘制.我们一般在设计完图纸,可能定会转换格式,以至于可以方便的进行工作,PDF文件刚好有着很好的加密性,用起来方便快捷,真的是省时又省力.那接下来,就给大家看一下,怎么用两种方法,快速将CAD图纸文件转换成高质量的PDF文件吧. 第一步:首先,在你的电脑桌面上双击鼠标左键,开始运行CAD转换器.并在软件的下方界面中找到[CAD转PDF]功能属

python:将xml格式文件转换成json格式文件

由于json格式的文件在处理起来,有很强的便利性,而工作中每天产生大量的xml格式的文件,所以有需求将xml格式的文件转换成json格式的文件.下面直接贴出代码,有两个版本,根据需求自由选择: #!/usr/bin/python # -*- coding: utf-8 -*- #Function:Xml_To_Json #version 1.0 #Author: Herman #需要用到的两个模块 import xmltodict; import json; #定义函数 def pythonXm

用Java将Excel的xls和xlsx文件转换成csv文件的方法, XLS2CSV, XLSX2CSV

利用poi将excel文件后缀为.xls .xlsx的文件转换成txt/csv文本文件 首先,引入所需的jar包: <dependencies> 2 <dependency> 3 <groupId>net.sf.opencsv</groupId> 4 <artifactId>opencsv</artifactId> 5 <version>2.1</version> 6 </dependency> 7

c#程序将excel文件转换成xml文件

要程序你自己去组装去,我只写两个部分,一个是读Excel的部分,然后是写入到xml的1) 从指定的excel读出信息string strConn="provider=Microsoft.Jet.OLEDB.4.0;data source=你的Excel文件.xls;Extended Properties=Excel 8.0;";DataSet ds=new DataSet();System.Data.OleDb.OleDbConnection oleConn=new System.Da

Python:将utf-8格式的文件转换成gbk格式的文件

需求:将utf-8格式的文件转换成gbk格式的文件 实现代码如下: def ReadFile(filePath,encoding="utf-8"): with codecs.open(filePath,"r",encoding) as f: return f.read() def WriteFile(filePath,u,encoding="gbk"): with codecs.open(filePath,"w",encodi

python 将txt文件转换成字典

txt 文件内容如下 liu 123shao 456hui 789 将上述txt文件转换成字典格式实现思路:定义一个空列表,按行读取txt文件,然后转换成嵌套列表,进而通过dict方法将嵌套列表转换成字典(左边为key,右边为value) 1 with open('user_list','r',encoding='utf-8') as f: 2 dic=[] 3 for line in f.readlines(): 4 line=line.strip('\n') #去掉换行符\n 5 b=lin