这篇文章主要介绍了Python怎么批量将csv文件转化成xml文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
Python主要应用领域有哪些
1,云计算,典型应用OpenStack.2,网前端开发,众多大型网站均为Python开发。3。人工智能应用,基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开python.4,系统运维工程项目,自动化运维的标配就是python + Django/flask.5,金融理财分析,量化交易,金融分析。6,大数据分析。
一、前言
逗号分隔值(逗号分隔值(CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据. CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列,通常都是纯文本文件。
可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据,定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
二,python代码实现
导入用到的库
得到xml.etree.ElementTree import 元素,ElementTree, import csv 得到pathlib import 路径 import 操作系统
创建一个文件夹,用来保存转换后的xml文件
#,创建一个文件夹,,用来保存转换后的xml文件 时间=path os.path.join (& # 39; xml_file& # 39;) if not  os.path.exists(路径): ,,,os.mkdir(路径)
获取所有待转换的csv文件
#,获取所有待转换的csv文件,,返回列表 def list_csv (): ,,,file_path =,输入(& # 39;请输入你存放csv文件的路径:& # 39;) ,,,p =,路径(file_path) ,,,csv_files =, p.glob (& # 39; * */* . csv # 39;) ,,,csv_files =, (str (csv_file), for csv_file 拷贝csv_files] ,,,return csv_files
将csv文件转换为xml文件
#,将csv文件转换为xml def csv_to_xml (file_name): ,,,印刷(file_name) ,,,with 开放(file_name, & # 39; " # 39;,,编码=& # 39;utf - 8 # 39;), as f:,,, #,读取csv文件 ,,,,,,,reader =, csv.reader (f) ,,,,,,,header =,下一个(读者),,,#,跳过表头 ,,,,,,,root =,元素(& # 39;数据# 39;) ,,,,,,,印刷(& # 39;根# 39;,,len(根) ,,,,,,,#,处理转换 ,,,,,,,for row 读者:拷贝 ,,,,,,,,,,,erow =,元素(& # 39;行# 39;) ,,,,,,,,,,,root.append (erow) ,,,,,,,,,,,for 标签,text 拷贝zip(头,,行): ,,,,,,,,,,,,,,,e =,元素(标签) ,,,,,,,,,,,,,,,e.text =,文本 ,,,,,,,,,,,,,,,erow.append (e) ,,,beatau(根) ,,,return ElementTree(根) def beatau (e,级别=0): ,,,if len (e),祝辞,0: ,,,,,,,e.text =, & # 39; \ n # 39;, +, & # 39; \ t # 39;, *,(时间+ level 1) ,,,,,,,child =,没有 ,,,,,,,for child e:拷贝 ,,,,,,,,,,,beatau(孩子,,level +, 1) ,,,,,,,child.tail =, child.tail (: 1) ,,,e.tail =, & # 39; \ n # 39;, +, & # 39; \ t # 39;, *,水平
主函数调用
if __name__ ==, & # 39; __main__ # 39;: ,,,csv_list =, list_csv () ,,,印刷(csv_list) ,,,for index_,, item 拷贝列举(csv_list,,开始=1): ,,,,,,,印刷(index_,,项目) ,,,,,,,et =, csv_to_xml(项) ,,,,,,,et.write(时间+ path & # 39;/& # 39;, +, & # 39; test_ {} . xml # 39; .format (index_),编码=& # 39;utf - 8 # 39;)
结果如下:
用编辑器打开可以看到xml文件的内容(我用的崇高文本),如下所示