import pandas as pd from fastapi import APIRouter, Depends, Request import crud, schemas from api import deps from db.ckdb import get_ck_db, CKDrive router = APIRouter() @router.post("/sql") async def query_sql( request: Request, data_in: schemas.Sql, ckdb: CKDrive = Depends(get_ck_db), current_user: schemas.UserDB = Depends(deps.get_current_user) ) -> schemas.Msg: """原 sql 查询 """ data = await ckdb.execute(data_in.sql) return schemas.Msg(code=0, msg='ok', data=data) @router.post("/query") async def query( request: Request, data_in: schemas.CkQuery, ckdb: CKDrive = Depends(get_ck_db), current_user: schemas.UserDB = Depends(deps.get_current_user) ) -> schemas.Msg: """ json解析 sql 查询""" # data, columns = await ckdb.execute(data_in.sql, with_column_types=True, columnar=True) # df = pd.DataFrame({col[0]: d for d, col in zip(data, columns)}) return schemas.Msg(code=0, msg='ok', data=data_in) @router.post("/event_model") async def event_model( request: Request, data_in: schemas.CkQuery, ckdb: CKDrive = Depends(get_ck_db), current_user: schemas.UserDB = Depends(deps.get_current_user) ) -> schemas.Msg: """ json解析 sql 查询""" # data, columns = await ckdb.execute(data_in.sql, with_column_types=True, columnar=True) # df = pd.DataFrame({col[0]: d for d, col in zip(data, columns)}) return schemas.Msg(code=0, msg='ok', data=data_in)