文章目录

  • 一、前言
  • 二、Python代码实现

一、前言

将 csv 格式转换成xml格式有许多方法,可以用数据库的方式,也有许多软件可以将 csv 转换成xml。但是比较麻烦,本文利用 Python 一键批量将 csv 文件转化成 xml 文件。

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列,通常都是纯文本文件。

可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

二、Python代码实现

导入用到的库

from xml.etree.ElementTree import Element, ElementTree
import csv
from pathlib import Path
import os

创建一个文件夹,用来保存转换后的xml文件

# 创建一个文件夹  用来保存转换后的xml文件
path = os.path.join('xml_file')
if not os.path.exists(path):os.mkdir(path)

获取所有待转换的csv文件

# 获取所有待转换的csv文件  返回列表
def list_csv():file_path = input('请输入你存放csv文件的路径:')p = Path(file_path)csv_files = p.glob('**/*.csv')csv_files = [str(csv_file) for csv_file in csv_files]return csv_files

将 csv 文件转换为 xml 文件

# 将csv文件转换为xml
def csv_to_xml(file_name):print(file_name)with open(file_name, 'r', encoding='utf-8') as f:   # 读取csv文件reader = csv.reader(f)header = next(reader)   # 跳过表头root = Element('Datas')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 = texterow.append(e)beatau(root)return ElementTree(root)def beatau(e, level=0):if len(e) > 0:e.text = '\n' + '\t' * (level + 1)child = Nonefor child in e:beatau(child, level + 1)child.tail = child.tail[:-1]e.tail = '\n' + '\t' * level

主函数调用

if __name__ == '__main__':csv_list = list_csv()print(csv_list)for index_, item in enumerate(csv_list, start=1):print(index_, item)et = csv_to_xml(item)et.write(path + '/' + 'test_{}.xml'.format(index_), encoding='utf-8')

结果如下:

用编辑器打开可以看到 xml 文件的内容(我用的Sublime Text),如下所示

利用Python批量将csv文件转化成xml文件相关推荐

  1. python格式批量重命名文件_利用Python批量重命名一系列文件名杂乱的文件

    假设目录下面有这样一系列命令杂乱的文件: OPENFOAM -TRAINING- PART- #1.pdf OPENFOAM - TRAINING- PART- #2.pdf OPENFOAM- TR ...

  2. 利用Python批量重命名一系列文件名杂乱的文件

    假设目录下面有这样一系列命令杂乱的文件: OPENFOAM -TRAINING- PART- #1.pdf OPENFOAM - TRAINING- PART- #2.pdf OPENFOAM- TR ...

  3. json字段顺序读取 python_如何利用Python批量读取视频文件的时间长度?

    本期的主题是利用Python来实现对视频文件时间长度的读取. 在学习编程语言时,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解一些知识 ...

  4. 利用python中的csv库读写csv文件

    利用python中的csv库读写csv文件 python读写csv文件就我知道的方法有:1)利用csv库,2)利用读写txt文件的方式处理,3)利用numpy或pandas库处理 在这篇博客中,博主就 ...

  5. python 修改文件名_【学习分享】利用python批量修改文件名

    1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...

  6. python批量读取图片并复制入word_提取出 Word 文档里的图片 并利用 python 批量转换格式...

    日常工作中,你是否遇到过这样的场景,领导发来一份 Word 文档,要求你将文档中的图片存储到一个文件夹内,并且还要将图片都改成 .jpg 或者 .png,你会怎么办?你是不是一边内心崩溃,一边开始一张 ...

  7. 利用Python批量识别电子账单数据

    文章目录 一.前言 二.调用Baidu aip识别 三.批量识别电子账单 一.前言 有一定数量类似如下截图所示的账单,利用 Python 批量识别电子账单数据,并将数据保存到Excel. 百度智能云接 ...

  8. python实现动态壁纸_利用Python批量提取Win10锁屏壁纸实战教程

    前言 相信使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美. 但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次开机之后就被替换 ...

  9. python账单查询软件_利用Python批量识别电子账单数据的方法

    这篇文章主要介绍了利用Python批量识别电子账单数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一.前言 有一定数量类似如下截图所示的账单,利用 ...

最新文章

  1. Spring boot 嵌入的tomcat不能启动: Unregistering JMX-exposed beans on shutdown
  2. Hibernate【XXXX.hbm.xml】总结
  3. 【爬虫】-爬取食品检验结果
  4. sql server 2005 T-SQL @@TRANCOUNT (Transact-SQL)
  5. 梅森增益matlab求解,梅森公式互不接触回路及其增益
  6. 济南昊锐科技谈程序员与用户UI
  7. strassen算法java_使用java写的矩阵乘法实例(Strassen算法)_Java_软件编程
  8. Android颜色选择器库
  9. 设计测试用例的7点原则
  10. Oracle 或关闭中国研发中心(CDC):裁员 1600 人
  11. Spring Bean的加载过程以及一些生命周期
  12. 分享功能 集成友盟分享
  13. 弹丸论破2 中文攻略
  14. 超出本地计算机网络,超出本地计算机网络适配器卡的名称限制怎么解决?
  15. 【电脑技巧】CPU正常运行时间过长,怎么解决?
  16. HTTPS双向认证(Mutual TLS authentication)
  17. JAVA 根据模板生成doc文件
  18. 你知道有哪些正规的兼职平台吗?
  19. 益世科生物冲刺港交所上市:业绩持续增长,IPO前紧急“套现”
  20. 关于Max导出插件的七七八八

热门文章

  1. Java之HTTP网络编程(下篇:网页浏览器程序设计)
  2. 4种常见的鉴权方式及说明
  3. CSTC—基于零仲裁证明的价值协议
  4. 我的Android开发校招之路
  5. 不要让你的文件“失踪”,学会小米手机怎么备份
  6. python 0基础容易学吗_Python0基础好学吗?
  7. 计组作业【题目记录】
  8. Day6-2021.1.14 计算机网络面经从基础到总结+力扣 链表 题目的整理。
  9. 什么叫反光识别读数识别_一网通办全攻略来啦!政务服务事项网上办 让您一次都不用跑!...
  10. 按键精灵html代码,按键精灵代码post和get