如何構建xml文件?

2022-06-22 12:03:10 字數 1448 閱讀 4924

需求:

某些時候,我們需要將其他格式資料轉換為xml,例如我們要把yikang.csv檔案,轉換成相應的xml。

yikang.csv:

日期,****,名稱,**價,最**,最低價,開盤價,前**,漲跌額,漲跌幅,換手率,成交量,成交金額,總市值,流通市值,成交筆數

2016-01-08,'002566,益盛藥業,14.23,14.46,13.26,14.2,13.8,0.43,3.1159,2.6702,8837225,124872735.08,4709441268.0,4709441268.0,8033

yikang.xml:

...思路:

使用標準庫中的xml.etree.elementree,構建elementtree,使用write方法寫入檔案

**:

import csv

from xml.etree.elementtree import element,elementtree

from e2 import pretty

def csvtoxml(fname):

with open(fname,'r',encoding='gbk') as f:

reader = csv.reader(f) # 讀取csv,要先建立乙個reader

headers = next(reader) # 讀取csv的頭部資訊

root = element('data') # 為xml建立乙個根元素

# 迭代csv檔案中的每一行

for row in reader:

erow = element('row') # 每一行建立乙個row元素

# 同時迭代tag(headers),text(row)

for tag, text in zip(headers,row):

e = element(tag) # 為headers中每乙個建立乙個xml中的元素

e.text = text

pretty(root) # 進行格式的美化

return elementtree(root) # 建立乙個elementtree,即乙個xml物件

if __name__ == "__main__":

et = csvtoxml('yikang.csv')

# 呼叫write方法把xml物件寫入檔案中,生成乙個xml檔案

et.write('yikang.xml')

e2.py:

def pretty(e,level=0):

if len(e) > 0:

e.text = '\n' + '\t' * (level + 1)

for child in e:

pretty(child,level + 1)

child.tail = child.tail[:-1]

e.tail = '\n' + '\t' * level

如何得到XML文件大小

xml文件從格式到大小都是不是確定的。有的可能只有幾行,而有的卻有好幾兆位元組。你也許會懷疑是不是需要了解 xml文件的大小。而當效能成為首要問題時,知道 xml文件大小就是件必須要作的事情了。從效能角度講,有兩類處理xml文件的方法。批量處理方式需要較短的時間,解析成組的文件。實時方式就是實時的處...

XML 略談DTD XML文件的合法構建模組

dtd 文件型別定義 的作用是定義 xml 文件的合法構建模組。它使用一系列的合法元素來定義文件結構。以上是官方發言。說幹就幹,寫了點測試 試了試dtd的引入,話不多說上 dtd檔案 element 班級 學生 老師 年級 元素 號代表可以有多個 element 學生 名字,性別,年齡,介紹,愛好 ...

如何繫結DATAGRID控制項和XML文件

在網上找了一些資料,但是都沒有說明白原理,幸虧高人指點了解一二 肯定是將xml轉化為dataset 作的。轉化就不說了,肯定了解,就看一下xml轉化為dataset後的結構 我自己寫了點 試驗了以下,我的xml檔案是這樣的 這樣轉化為dataset時其實有兩個表,items 和 item items...