• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 = text
                    erow.append(e)
        beatau(root)
        return ElementTree(root)
    
    
    def beatau(e, level=0):
        if len(e) > 0:
            e.text = '\n' + '\t' * (level + 1)
            child = None
            for 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文件的实例的详细内容,更多关于Python csv文件转化成xml文件的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • Python pandas读取CSV文件的注意事项(适合新手)
    • 使用Python pandas读取CSV文件应该注意什么?
    • python 如何把classification_report输出到csv文件
    • python删除csv文件的行列
    • 使用python把json文件转换为csv文件
    • python 如何读、写、解析CSV文件
    • python读写数据读写csv文件(pandas用法)
    • Python将list元素转存为CSV文件的实现
    • 利用python 读写csv文件
    • Python如何读写CSV文件
    • 如何运用python读写CSV文件
    上一篇:python基础之爬虫入门
    下一篇:python保存大型 .mat 数据文件报错超出 IO 限制的操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python批量将csv文件转化成xml文件的实例 Python,批量,将,csv,文件,转,