一个基于 Streamlit 构建的多页面应用,帮助用户研究团队快速完成 CSV 数据清洗、频率统计、交叉分析以及基于 OpenAI 的文本分类任务。
提示:如需在本地运行,请确保网络环境允许访问 OpenAI 接口。
- 上传 CSV 后自动保留原始副本,可在侧边栏一键恢复。
- 通过可视化界面批量重命名或删除列,并支持导出当前版本的清洗结果。
- 允许配置多条筛选条件(区间、集合、包含关系等)并即时预览筛选结果,支持将结果覆盖当前数据或另存。
- 自动生成字段概览与数值统计,帮助定位缺失值或异常值。
- 针对单选题快速生成频率表及柱状/条形/饼图。
- 多选题支持“单列分隔符”与“多列指示变量”两种数据结构。
- 所有汇总结果均可一键下载。
- 支持频数、行百分比、列百分比及总体百分比四种展示方式。
- 可选第三维进行拆分展示,提供堆叠柱状图、并列柱状图与热力图。
- 交叉表及可视化均与 Streamlit 交互式刷新。
- 结合任务描述与示例,通过 OpenAI 模型批量分类文本(默认使用
gpt-3.5-turbo)。 - 可自定义温度、最大 Token、单次处理行数,支持下载完整分类结果。
- 兼容新版
openaiSDK 与旧版openai.ChatCompletion接口。
python -m venv .venv
source .venv/bin/activate # Windows 使用 .venv\Scripts\activate
pip install -r requirements.txt
streamlit run 数据清洗.py运行后,Streamlit 会自动识别 pages/ 目录下的多页面模块。
文本分类页面依赖 OpenAI 模型,请在运行环境中设置 OPENAI_API_KEY。
-
使用 Streamlit Cloud 或共享部署时,可在
.streamlit/secrets.toml中添加:OPENAI_API_KEY = "your-api-key"
-
本地运行可在 shell 中导出:
export OPENAI_API_KEY="your-api-key"
若未检测到密钥,页面会提示用户补充配置。
- 文件编码问题:上传的 CSV 建议保存为 UTF-8 编码。应用在读取失败时会提示更换编码。
- 多选题分隔符:默认使用分号
;,若原始数据使用逗号或其他符号,可在界面中自定义。 - API 调用异常:文本分类时若遇到限流或无权限,结果表中会标记“调用失败”,并在页面底部列出错误信息。
欢迎根据团队需求继续扩展更多页面或分析功能!