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>
python csv文件转换成xml, 构建新xml文件的更多相关文章
- 将json文件转换成insert语句的sql文件
引入是要的maven依赖: <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <depend ...
- 如何将md文件转换成带目录的html文件
配置环境node 去官网下一个node安装包,下一步下一步: 由于现在的node都自带npm,直接 npm install i5ting_toc 这样安装好了i5ting_toc这个包, 进入你实现准 ...
- 将jar文件转换成exe可执行文件[转]
将jar文件转换成exe可执行文件: exe文件使用方便,而且还可以提高源码及资源的安全性,但同时也失去了java的初衷--跨平台性. 如果你坚持要转换成exe文件,请按以下方式进行: 利用exe4j ...
- JAVA将文件转换成byte数组(byte[])
/** * 将文件转换成byte数组 * @param filePath 文件File类 通过new File(文件路径) * @return byte数组 */ public static byte ...
- 用Python将word文件转换成html(转)
用Python将word文件转换成html 序 最近公司一个客户大大购买了一堆医疗健康方面的科普文章,希望能放到我们正在开发的健康档案管理软件上.客户大大说,要智能推送!要掌握节奏!要深度学习!要 ...
- C#:将.csv格式文件转换成.xlsx格式文件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 自制 Python小工具 将markdown文件转换成Html文件
今天看到了一个Python库,名为markdown.瞬间就给了我一个灵感,那就是制作一个将markdown文件转换成html文件的小工具. 我的实验环境 操作系统: Windows 7 64位 旗舰版 ...
- json串转化成xml文件、xml文件转换成json串
1.json串转化成xml文件 p=[{"name":"tom","age":30,"sex":"男" ...
- 小白学习Python之路---py文件转换成exe可执行文件
一.背景 今天闲着无事,写了一个小小的Python脚本程序,然后给同学炫耀的时候,发现每次都得拉着其他人过来看着自己的电脑屏幕,感觉不是很爽,然后我想着网上肯定有关于Python脚本转换成可执行文件的 ...
- Python:将utf-8格式的文件转换成gbk格式的文件
需求:将utf-8格式的文件转换成gbk格式的文件 实现代码如下: def ReadFile(filePath,encoding="utf-8"): with codecs.ope ...
随机推荐
- winform创建快捷方式
/// <summary> /// 创建快捷方式 /// </summary> public class Lnk { /// <summary> /// 创建快捷方 ...
- winform版的dota改键器
从网上找的源码很不齐全,自己补充了一下,有兴趣的可以看看. 首先是建立一个hook类WFChangeKey using System; using System.Reflection; using S ...
- 10.8-uC/OS-III内部任务(中断处理任务 OS_IntQTask())
1.当设置OS_CFG.H中的OS_CFG_ISR_POST_DEFERRED_EN为1时, uC/OS-III就会创建一个任务,它的作用是尽快完成ISR中对post函数的调用, 将信号量.消息等对象 ...
- C#生成exe、dll版本号自动增加
修改AssemblyInfo.cs 1.注释[assembly: AssemblyFileVersion("1.0.0.0")] 2.[assembly: AssemblyVers ...
- 前端 HTML 常用标签 head标签相关内容 title标签 网页的标题信息
title标签 <title>标签:在<title>和</title>标签之间的文字内容是网页的标题信息,它会显示在浏览器标签页的标题栏中. 可以把它看成是一个网页 ...
- composer错误提示Cloning failed using an ssh key for authentication的解决方法
早上ytkah在测试laravel用composer安装一些插件时出现了一些错误,提示如下,是github的ssh密匙认证错误,提示要重新生成token,然后保存在/root/.config/comp ...
- Python中使用SMTP发送邮件以及POP收取邮件
假设我们自己的电子邮件地址是from@163.com,对方的电子邮件地址是to@sina.com(这里的地址虚拟的),现在我们用Outlook或者Foxmail之类的软件写好邮件,填上对方的Email ...
- 模拟django配置环境进行数据增删改查,测试的时候有用
import os if __name__ == '__main__': os.environ.setdefault('DJANGO_SETTINGS_MODULE','day76.settings' ...
- Mybatis中映射器实现方式总结
一种是通过XML文件方式(由一个java接口和一个XML文件构成) RoleMapper rm = session.getMapper(RoleMapper.class); List<Role& ...
- git revert 撤销merge的动作
在执行完git merge提交以后,通常会merge过的分支的提交记录都带过来,比如A分支merge到了B分支,那么B分支上肯定有A分支的提交记录,如果此时要回退这个merge动作,是产生一条reve ...