python 生成odoo xml文件(2)

# -*- coding: utf-8 -*-
import xlrd
from xml.etree.ElementTree import Element, SubElement, ElementTree

def read_excel():
    # 打开文件
    workbook = xlrd.open_workbook(r'D:\odoo\od_message_config.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:]
        print(row_value)

        # 生成第一个子节点 record
        record = SubElement(data, 'record', attrib={"model": "od.message.config", 'id': 'message_template_' + f"{row_value[1].lower()}"})

        # record 节点的子节点 field
        name_record = SubElement(record, 'field', attrib={"name": "name"})
        name_record.text = row_value[0]

        name_record = SubElement(record, 'field', attrib={"name": "code"})
        name_record.text = row_value[1]

        # name_record = SubElement(record, 'field', attrib={"name": "model_id"})
        # name_record.text = row_value[2]

        SubElement(record, 'field', attrib={'ref': f"{row_value[2]}", "name": "model_id"})

        name_record = SubElement(record, 'field', attrib={"name": "model_name"})
        name_record.text = row_value[3]

        name_record = SubElement(record, 'field', attrib={"name": "mp_message"})
        name_record.text = row_value[4]

        record = SubElement(record, 'field', attrib={"name": "mp_copy_message"})
        record.text = row_value[5]

    tree = ElementTree(root)
    tree.write(r'xustomer.xml', encoding='utf-8', xml_declaration=True)

if __name__ == '__main__':
    read_excel()


在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隔壁小红馆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值