/khqp_trainer

使用streamlit实现的数据简单增删查改示例, 配置数据后 可生成json

Primary LanguagePython

模型训练数据可视化生成器

简单数据crud. 训练数据特殊查询, json生成

技术栈

使用sqlalchemy作为orm框架处理sqlite, pydantic作为数据模型, streamlit可视化交互工具

pydantic1

sqlalchemy2

streamlit data_editor

streamlit_sqlite

效果

主页面

生成json

实现思路

整体思路是: 保证DataFrame的数据和数据库的数据一致, 避免数据的重复加载 增删查改的操作都是对数据库的操作, 操作数据库后需要保证DataFrame的数据同步更新

  1. 初始化变量, 使用st.session_state保存变量

    img.png

  2. 数据加载部分, 执行sql语句, 生成数据, 一般页面刷新时执行

    img.png

  3. 数据编辑部分, 实际上是对数据库的操作, 操作数据库后需要保证DataFrame的数据同步更新, 这里把操作放到回调函数上, 避免数据频繁更新导致页面闪烁

    img.png

  4. 最终数据处理部分, 实际上是按照不同条件生成特定的sql语句, 然后执行sql语句, 生成数据

    img.png

  5. 数据库模型定义部分, 将数据表定义成类, 以使用sqlalchemy操作sqlite

    img.png

  6. 数据模型定义部分, 主要用户数据创建, 将读取到的数据行转为数据模型类, 也可以快速转为字典

    img.png