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>

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

  1. 将json文件转换成insert语句的sql文件

    引入是要的maven依赖: <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <depend ...

  2. 如何将md文件转换成带目录的html文件

    配置环境node 去官网下一个node安装包,下一步下一步: 由于现在的node都自带npm,直接 npm install i5ting_toc 这样安装好了i5ting_toc这个包, 进入你实现准 ...

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

    将jar文件转换成exe可执行文件: exe文件使用方便,而且还可以提高源码及资源的安全性,但同时也失去了java的初衷--跨平台性. 如果你坚持要转换成exe文件,请按以下方式进行: 利用exe4j ...

  4. JAVA将文件转换成byte数组(byte[])

    /** * 将文件转换成byte数组 * @param filePath 文件File类 通过new File(文件路径) * @return byte数组 */ public static byte ...

  5. 用Python将word文件转换成html(转)

    用Python将word文件转换成html   序 最近公司一个客户大大购买了一堆医疗健康方面的科普文章,希望能放到我们正在开发的健康档案管理软件上.客户大大说,要智能推送!要掌握节奏!要深度学习!要 ...

  6. C#:将.csv格式文件转换成.xlsx格式文件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. 自制 Python小工具 将markdown文件转换成Html文件

    今天看到了一个Python库,名为markdown.瞬间就给了我一个灵感,那就是制作一个将markdown文件转换成html文件的小工具. 我的实验环境 操作系统: Windows 7 64位 旗舰版 ...

  8. json串转化成xml文件、xml文件转换成json串

    1.json串转化成xml文件 p=[{"name":"tom","age":30,"sex":"男" ...

  9. 小白学习Python之路---py文件转换成exe可执行文件

    一.背景 今天闲着无事,写了一个小小的Python脚本程序,然后给同学炫耀的时候,发现每次都得拉着其他人过来看着自己的电脑屏幕,感觉不是很爽,然后我想着网上肯定有关于Python脚本转换成可执行文件的 ...

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

    需求:将utf-8格式的文件转换成gbk格式的文件 实现代码如下: def ReadFile(filePath,encoding="utf-8"): with codecs.ope ...

随机推荐

  1. STLの应用

    QAQ因为绝望地发现好像这些应用都没有题目...所以就专门开了个随笔存题面qwq 谁的孙子最多 给定一棵树,其中1号节点是根节点,问哪一个节点的孙子节点最多,有多少个.(孙子节点,就是儿子节点的儿子节 ...

  2. word2vec训练好的词向量

    虽然早就对NLP有一丢丢接触,但是最近真正对中文文本进行处理才深深感觉到自然语言处理的难度,主要是机器与人还是有很大差异的,毕竟人和人之间都是有差异的,要不然不会讲最难研究的人嘞 ~~~~~~~~~~ ...

  3. 【Python学习 】Python获取命令行参数的方法

    背景 最近编写一个python程序的时候,需要去获取python命令行的参数,因此这里记录下如何获取命令行参数的方法. 一.sys 模块 在 Python 中,sys 模块是一个非常常用且十分重要的模 ...

  4. 【Mock】mock-server 环境搭建

    前言 mock 除了用在单元测试过程中,还有一个用途,当前端开发在开发页面的时候,需要服务端提供 API 接口 此时服务端没开发完成,或者说没搭建测试环境,这个时候前端开发会自己 mock一个 api ...

  5. C#生成exe、dll版本号自动增加

    修改AssemblyInfo.cs 1.注释[assembly: AssemblyFileVersion("1.0.0.0")] 2.[assembly: AssemblyVers ...

  6. int(1)和int(11)是否有区别?

    MySQL类型关键字后面的括号内指定整数值的显示宽度(例如,INT(11)).该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度.显示宽度并不限制可以在列内保存的值的范围,也不限制超过 ...

  7. SQL SERVER 2016研究四

    SQL Server 2016 白皮书 内容:内存优化表 问题? -----内存优化表在2014版本推出,主要是如何作用?如何使用?目前有何变化? 内存优化表是可以将表放入内存中,能提升操作性能. - ...

  8. Nancy Web框架 文档

    http://liulixiang1988.github.io/nancy-webkuang-jia.html 中文 https://github.com/NancyFx/Nancy/wiki/Doc ...

  9. 【leetcode】部分思路整理

    题目: 求一个树的最小深度. 思路: 思路一:递归     若为空树返回0:     若左子树为空,则返回右子树的最小深度+1:(加1是因为要加上根这一层,下同)     若右子树为空,则返回左子树的 ...

  10. Snmp学习总结(一)——Snmp的基本概念

    一.SNMP简单概述 1.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议& ...