文章目录

  • 一、前言
  • 二、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. Python Qt GUI设计:QMainWindow、QWidget和QDialog窗口类(基础篇—10)
  2. 0.2 秒居然复制了一个 100G 文件?怎么做到的?
  3. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十七:TFT模块 - 显示
  4. pythonfor循环嵌套_python-嵌套和for循环中的字典和列表中的项...
  5. SQL Server 2012高可用性组
  6. CVPR2021-RSTNet:自适应Attention的“看图说话”模型
  7. 完全二叉树子节点个数
  8. 蓝桥杯-天干地支问题
  9. OpenCV系统学习(基本了解完)
  10. GitHub Windows 客户端使用教程
  11. windows系统上安装.cab文件
  12. raspberry 防火墙_用Raspberry Pi对您的家庭网络进行防火墙
  13. 小米5 miui9 android8,小米5升级MIUI9速度对比MIUI8:开机就快10秒
  14. IOM计算机组成原理,计算机组成原理设计教案.doc
  15. Python实战案例05
  16. SQL SERVER 插入时表名显示对象名无效 问题
  17. 中国江门地下中微子实验今年动工
  18. Spring Boot 自动配置 : RedisAutoConfiguration
  19. 618狂欢过后,冷静揭秘亚马逊和淘宝如何用算法让你剁手
  20. 【硬币计数】基于matlab形态学硬币计数【含Matlab源码 393期】

热门文章

  1. 如何打开Win10启动文件夹?
  2. Java多线程之----CyclicBarrier
  3. CCCP(convex-concave procedure)优化算法的一些理解
  4. 51单片机移植UCOS-II的方法与改进
  5. POJ 1655 Balancing Act
  6. 人在江湖,以“核”为贵
  7. 团队组成五个基本要素_团队的5个基本构成要素(5P):目标、定位、计划、职权、人...
  8. hacker vip教程
  9. 《看不见的大猩猩:无处不在的6大错觉》读书摘记
  10. POJ3349 Snowflake Snow Snowflakes