您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python怎么批量將csv文件轉化成xml文件,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1、云計算,典型應用OpenStack。2、WEB前端開發,眾多大型網站均為Python開發。3.人工智能應用,基于大數據分析和深度學習而發展出來的人工智能本質上已經無法離開python。4、系統運維工程項目,自動化運維的標配就是python+Django/flask。5、金融理財分析,量化交易,金融分析。6、大數據分析。
逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進制數字那樣被解讀的數據。CSV文件由任意數目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。通常,所有記錄都有完全相同的字段序列,通常都是純文本文件。
可擴展標記語言,標準通用標記語言的子集,簡稱XML。是一種用于標記電子文件使其具有結構性的標記語言。在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。 它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立于應用程序或供應商的結構化數據。
導入用到的庫
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文件”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。