【发布时间】:2019-02-19 16:17:12
【问题描述】:
我能够遍历 assets.csv 文件并为每一行创建 XML sn-ps,但是在迭代每个 sigEquipment ID 属性时,我尝试使用每一行的 ID 值填充它。
下面是 assets.csv 的快照
ID,CODE,EL,TR,DIR,MIL,X,Y,Z,DESC
30734,X1,CC1,8100,,008+0249 (9-1497),518169.12,185128.27,37.52,
31597,X10,BB1,9100,,008+0286 (9-1460),518151.38,185157.1,36.7,XXX
到目前为止的代码是:
import pandas as pd
from lxml import etree as et
df = pd.read_csv('assets.csv', sep=',')
root = et.Element('SchemeData', xmlns='boo')
for row in df:
equipment= et.SubElement(root, 'Equipment')
sigEquipment = et.SubElement(equipment, 'SigEquipment', ID='', name='')
sigEquipment.set('ID', str(df['ID'].iloc[0]))
print(et.tostring(root, pretty_print=True).decode('utf-8'))
我不确定如何正确编码这部分 sigEquipment.set('ID', str(df['ID'].iloc[0])) 如何为每一行填充正确的 ID。
目前我明白了
<SchemeData xmlns="boo">
<Equipment>
<SigEquipment fileUID="30734" name=""/>
</Equipment>
<Equipment>
<SigEquipment fileUID="30734" name=""/>
</Equipment>
</SchemeData>
感谢您的帮助
【问题讨论】:
标签: python xml pandas csv lxml