Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
2 Risposte
3117 Visualizzazioni

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

Avatar
Abbandona
Autore Risposta migliore

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.

Avatar
Abbandona
Risposta migliore
  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 })



Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
0
mag 22
2249
0
mar 22
2663
2
ago 25
2552
1
lug 25
963
1
ago 25
1151