python 生成odoo xml文件(1)
2021-05-19 本文已影响0人
隔壁小红馆
在odoo系统中,xml文件比较多,也可以在data/xml里面直接加载文件,当数据量大的时候,可以用python来生成。
此示例是用python方法生成xml数据文件
# -*- coding: utf-8 -*-
import xlrd
from xml.etree.ElementTree import Element, SubElement, ElementTree
def read_excel():
# 打开文件
workbook = xlrd.open_workbook(r'E:\odoo12\odoo12\res_partner.xls')
sheet2 = workbook.sheet_by_name('Sheet 1')
# odoo标签
root = Element('odoo')
# data标签
data = SubElement(root, 'data')
for row in range(1, sheet2.nrows):
# 开始生成数据
row_value = sheet2.row_values(row)[1:]
# 生成第一个子节点 record
record = SubElement(data, 'record ', attrib={"model": "account.account", 'id': "write"})
# record 节点的子节点 field
SubElement(record, 'field', attrib={'eval': f"{row_value[0]}", "name": "名称"})
SubElement(record, 'field', attrib={'eval': f"{row_value[1]}", "name": "电话"})
SubElement(record, 'field', attrib={'eval': f"{row_value[2]}", "name": "邮箱"})
tree = ElementTree(root)
tree.write(r'xustomer.xml', encoding='utf-8', xml_declaration=True)
if __name__ == '__main__':
read_excel()
运行此方法,可以生成以下 xustomer.xml 文件