跳至内容
菜单
此问题已终结
2 回复
3123 查看

Hello All,


I have Odoo sh and a created a custom module.


In this module, I want to read in a CSV file from my local machine into a Dataframe:

df = pd.read_csv('path\test.csv', delimiter=';', encoding='utf-8')


When having Odoo running locally it works, but can someone tell me how to achieve this using Odoo sh?


Thanks!


Kind regards,


Nick

形象
丢弃
编写者 最佳答案

Thank you. 

I have created the module, but the data is dynamic and it updates every hour.

I need to be able to load in the data automatically.

形象
丢弃
最佳答案
  1. Create a Python module (e.g., my_module) in your Odoo add-ons folder.
  2. Inside the module, create a Python file (e.g., models.py) and define a model to store the data from the CSV file. For example:
  3. from odoo import models, fields 
  4. classMyModel(models.Model): 
    1. _name = 'my_module.my_model'
    2. name = fields.Char(string='Name') 
    3. email = fields.Char(string='Email') # Add more fields as needed
  5. Create a CSV file (e.g., data.csv) with the corresponding headers and data you want to import. Place it in the module's folder.

  6. In the same Python file (models.py), add a method to read the CSV file and create records in the model. For example:

import csv from odoo import models, api 

classMyModel(models.Model): # ...

@api.modeldefimport_data_from_csv(self): 

with open('my_module/data.csv', 'r') as file: 

​csv_data = csv.DictReader(file) 

​for row in csv_data: 

​self.create({ 'name': row['Name'], 'email': row['Email'], # Set values for other fields })



形象
丢弃
相关帖文 回复 查看 活动
0
5月 22
2253
0
3月 22
2667
2
8月 25
2561
1
7月 25
969
1
8月 25
1151