Source code for orm.excel_file
from datetime import datetime
from io import BytesIO
import sqlalchemy as sql
from sqlalchemy.orm import (
Mapped,
mapped_column,
)
from sqlalchemy.schema import FetchedValue
from sqlalchemy_utc.sqltypes import UtcDateTime
import humanize
import pandas as pd
from app.model.orm.orm_base import OrmBase
[docs]
class ExcelFile(OrmBase):
@classmethod
[docs]
def from_upload(Self, uploaded_file):
file = ExcelFile()
file.filename = uploaded_file.filename
file.content = uploaded_file.read()
file.size = len(file.content)
return file
@property
[docs]
def extract_sheets(self):
excel = pd.ExcelFile(BytesIO(self.content))
sheets = {
name: pd.read_excel(excel, sheet_name=name)
for name in excel.sheet_names
}
return sheets