2
私はExcelファイルにデータを持っています。そのファイルを行単位で読み込み、データをデータベースに挿入するには?アップロード制御を追加し、.pyファイル内のボタンをクリックした後、行単位で読み込みます。odooでファイルを読み取る方法9
1ジョン・スターン
2マイクのHox
3ジュリア・マックス
どれ例:たとえば
?
私はExcelファイルにデータを持っています。そのファイルを行単位で読み込み、データをデータベースに挿入するには?アップロード制御を追加し、.pyファイル内のボタンをクリックした後、行単位で読み込みます。odooでファイルを読み取る方法9
1ジョン・スターン
2マイクのHox
3ジュリア・マックス
どれ例:たとえば
?
初めて、Excelファイルを読むためにどのようなパッケージを使用したいかを決定する必要があります。
私はこのウェブサイト()を見つけました。あなたは少しのpythonパッケージのリストを見つけることができます。私の場合は
私はそれは少し例です
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使用。あなたの状況に適応する必要があります。
Tnx for help、1つの質問openpyxlをインストールする最も簡単な方法は、私はUbuntuとEclipseを使用しています。 –
これはピップパッケージです。あなたはsudo pip install openpyxlを使うことができます。 – jo541
最後のコメントのためにTnxを呼び出して、関数呼び出し後にNameErrorを取得します:グローバル名 'TemporaryFile'は定義されていません。 –