Spaces:
Runtime error
Runtime error
from langchain import SQLDatabase | |
import pandas as pd | |
from sqlalchemy import create_engine, Column, Integer, String, Date | |
from sqlalchemy.ext.declarative import declarative_base | |
from sqlalchemy.orm import sessionmaker | |
from datetime import datetime | |
from sqlalchemy import create_engine, Column, String, Integer, Date | |
from sqlalchemy.ext.declarative import declarative_base | |
from sqlalchemy.orm import sessionmaker | |
def create_demand_table(engine, table_name, excel_file): | |
# Read the Excel file | |
dataframes = pd.read_excel(excel_file, sheet_name=None) | |
# Create a base class for the table models | |
Base = declarative_base() | |
# Define the table model | |
class DemandPlanned(Base): | |
__tablename__ = table_name | |
KEY = Column(String, primary_key=True) | |
DU = Column(String) | |
ORIGIN = Column(String) | |
DESTINATION = Column(String) | |
DEMAND_PLANNED_QTY = Column(Integer) | |
DEMAND_PLANNED_DATE = Column(Date) | |
# Drop the existing table in the SQLite database, if it exists | |
Base.metadata.drop_all(engine) | |
# Create the table in the SQLite database | |
Base.metadata.create_all(engine) | |
# Create a session to interact with the database | |
Session = sessionmaker(bind=engine) | |
with Session() as session: | |
# Insert data into the table (db) | |
demand = dataframes.get('Demand-Planned') | |
if demand is not None: | |
demand['DEMAND_PLANNED_DATE'] = pd.to_datetime(demand['DEMAND_PLANNED_DATE']).dt.strftime('%Y-%m-%d') | |
demand.to_sql(table_name, con=engine, if_exists='append', index=False) | |
db = SQLDatabase(engine) | |
# Commit the changes to the production database | |
session.commit() | |
# Close the session | |
session.close() | |
return db |