Python批量將csv文件轉(zhuǎn)化成xml文件的實例
逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數(shù)據(jù)(數(shù)字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進(jìn)制數(shù)字那樣被解讀的數(shù)據(jù)。CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。通常,所有記錄都有完全相同的字段序列,通常都是純文本文件。
可擴(kuò)展標(biāo)記語言,標(biāo)準(zhǔn)通用標(biāo)記語言的子集,簡稱XML。是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言。在電子計算機(jī)中,標(biāo)記指計算機(jī)所能理解的信息符號,通過此種標(biāo)記,計算機(jī)之間可以處理包含各種的信息比如文章等。它可以用來標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標(biāo)記語言進(jìn)行定義的源語言。 它非常適合萬維網(wǎng)傳輸,提供統(tǒng)一的方法來描述和交換獨立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。
二、Python代碼實現(xiàn)導(dǎo)入用到的庫
from xml.etree.ElementTree import Element, ElementTreeimport csvfrom pathlib import Pathimport os
創(chuàng)建一個文件夾,用來保存轉(zhuǎn)換后的xml文件
# 創(chuàng)建一個文件夾 用來保存轉(zhuǎn)換后的xml文件path = os.path.join(’xml_file’)if not os.path.exists(path): os.mkdir(path)
獲取所有待轉(zhuǎn)換的csv文件
# 獲取所有待轉(zhuǎn)換的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 文件轉(zhuǎn)換為 xml 文件
# 將csv文件轉(zhuǎn)換為xmldef 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))# 處理轉(zhuǎn)換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
主函數(shù)調(diào)用
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’)
結(jié)果如下:
用編輯器打開可以看到 xml 文件的內(nèi)容(我用的Sublime Text),如下所示
以上就是Python批量將csv文件轉(zhuǎn)化成xml文件的實例的詳細(xì)內(nèi)容,更多關(guān)于Python csv文件轉(zhuǎn)化成xml文件的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. XML入門的常見問題(一)2. html小技巧之td,div標(biāo)簽里內(nèi)容不換行3. PHP字符串前后字符或空格刪除方法介紹4. jsp cookie+session實現(xiàn)簡易自動登錄5. jsp實現(xiàn)登錄界面6. css進(jìn)階學(xué)習(xí) 選擇符7. 將properties文件的配置設(shè)置為整個Web應(yīng)用的全局變量實現(xiàn)方法8. 解析原生JS getComputedStyle9. Echarts通過dataset數(shù)據(jù)集實現(xiàn)創(chuàng)建單軸散點圖10. AspNetCore&MassTransit Courier實現(xiàn)分布式事務(wù)的詳細(xì)過程
