Python XML-RPC导出导入程序

时间:2019-03-07 13:22:34

标签: python-3.x export-to-csv xml-rpc odoo-12 xmlrpcclient

我正在尝试将many2one字段传递给另一个数据库。现在,我的程序正在使用xmlrpc进入数据库并从名为product.template的表中获取数据,然后创建一个csv。我要传递的字段返回 “ [54,'PARTS / COST']”和其他字段。我只需要ID是54。任何想法在哪里拦截此问题或如何解决?这是我到目前为止获得的两种方法。

def FetchProducts(self):
    products = self.odoo_object.execute_kw(
        self.db,
        self.uid,
        self.password,
        'product.template',
        'search_read',
        [[['sale_ok', '=', True], ['purchase_ok', '=', True]]],
        {'fields': ['id', 'name', 'sale_ok', 'purchase_ok', 'type', 'default_code', 'barcode', 'list_price', 'standard_price', 'categ_id'], 'limit': 1}
    )
    return products
def ProductsCSV(self,products):
    csv_columns = ['id', 'name', 'sale_ok', 'purchase_ok', 'type', 'default_code', 'barcode', 'list_price', 'standard_price', 'categ_id']
    csv_file = "Products.csv"
    try:
        with open(csv_file, 'w', encoding='utf-8', newline='') as csvfile:
            writer = csv.DictWriter(csvfile, csv_columns, delimiter=',')
            writer.writeheader()
            for data in products:
                writer.writerow(data)
                print("Writing Products " + str(data))
    except IOError:
        print("I/O error")

1 个答案:

答案 0 :(得分:0)

我认为您在这一行中有问题:-

->以open(csv_file,'w',encoding ='utf-8',newline ='')作为csvfile:

所以我认为请删除参数:-编码和换行符。

我使用项目模块运行您的代码,效果很好。