2017-05-11 16 views
2

데이터가 Excel 파일에 있습니다. 어떻게 파일을 한 줄씩 읽고 데이터를 데이터베이스에 삽입합니까? 업로드 제어 기능을 추가하고 .py 파일의 버튼을 클릭 한 후 줄 단위로 읽을 수 있습니다.odoo에서 파일을 읽는 방법 9

요한 1 서 스턴

이 마이크 혹스

3 줄리아 최대

모든 예 : 예를 들어

?

답변

2

처음으로 Excel 파일을 읽는 데 어떤 패키지를 사용하고자하는지 결정해야합니다.

이 웹 사이트()를 발견 했으므로, 작은 파이썬 패키지 목록을 발견 할 수 있습니다. 그것은 약간의 예입니다

import openpyxl 
from openerp import models, fields, api, _ 
from tempfile import TemporaryFile 

class ExcelReader(models.TransientModel): 
    _name="reader_excel" 

    excel_file = fields.Binary(string='Excel File') 

    def import_excel(self): 
     # Generating of the excel file to be read by openpyxl 
     file = self.excel_file.decode('base64') 
     excel_fileobj = TemporaryFile('wb+') 
     excel_fileobj.write(file) 
     excel_fileobj.seek(0) 

     # Create workbook 
     workbook = openpyxl.load_workbook(excel_fileobj, data_only=True) 
     # Get the first sheet of excel file 
     sheet = workbook[workbook.get_sheet_names()[0]] 

     # Iteration on each rows in excel 
     for row in sheet.rows: 
      # Get value 
      v1 = row[0].value 
      v2 = row[1].value 
      v3 = row[2].value 
      # Create your record 
      self.env['your_model'].creaate({'val1':v1,'val2':v2, 'val3':v3'}) 

openpyxl

내 경우에는 내가 사용. 자신의 상황에 적응해야합니다.

+0

Tnx for help, openpyxl을 설치하는 가장 쉬운 방법은 무엇인가, 나는 우분투와 이클립스를 사용한다. –

+0

그것은 pip 패키지입니다. sudo pip install openpyxl – jo541

+0

Tnx 마지막 주석을 위해 호출 함수를 호출 한 후 NameError를 가져옵니다. 전역 이름 'TemporaryFile'이 정의되지 않았습니다. –