一个用于批量处理数据并发送HTTP请求的Python工具包
Project description
批量数据测试工具 (Batch Data Test Tool)
一个用于批量处理数据并发送HTTP请求的Python工具包。支持CSV和Excel文件读取,提供交互式Jupyter界面,方便进行批量API测试。
功能特性
- 📊 数据文件支持: 支持CSV和Excel文件读取
- 🔄 批量处理: 批量发送HTTP请求并处理响应
- 🎛️ 交互式界面: 基于Jupyter Widgets的友好用户界面
- 📈 数据预览: 实时预览处理结果
- 💾 智能保存: 支持自定义文件名,自动保存到output目录
- 🛠️ 灵活配置: 支持JSON配置文件,动态选择API接口
- 🔧 参数映射: 支持数据列与API参数的动态映射
- ⚡ 实时更新: API配置切换时自动更新参数选择器
安装
基础安装
pip install batch-data-test-tool
推荐安装(包含JupyterLab)
pip install batch-data-test-tool jupyterlab
💡 推荐使用JupyterLab:该工具专为Jupyter环境设计,提供最佳的用户体验
快速开始
使用前准备
-
确保data目录存在
mkdir data⚠️ 如果data目录不存在,程序会报错
-
配置config.json 在项目根目录创建
config.json文件,配置您的API接口:[ { "api_name": "我的API接口", "api_url": "http://your-api-endpoint.com/api", "headers": { "Content-Type": "application/json", "User-Agent": "BatchDataTestTool/1.0" }, "params": { "conversation_text": "${conversation_text}", "sessionId": "default_session", "userKey": "app-10000" } } ]
占位符配置说明
什么是占位符? 占位符使用
${变量名}格式,用于将数据文件中的列动态映射到API请求参数。配置规则:
- 格式:
${变量名},变量名可以是任意字符串 - 位置:只能放在
params字段的值中 - 数量:支持多个占位符同时使用
配置示例:
{ "params": { "conversation_text": "${conversation_text}", // 映射到数据中的conversation_text列 "user_id": "${user_id}", // 映射到数据中的user_id列 "sessionId": "fixed_session_123", // 固定值,不映射 "timestamp": "${timestamp}" // 映射到数据中的timestamp列 } }
工作原理:
- 工具会自动扫描
params中所有${}格式的占位符 - 在界面中为每个占位符创建对应的列选择器
- 用户选择数据列后,占位符会被替换为实际数据值
- 固定值(非占位符)会直接使用
注意事项:
- 占位符名称建议与数据列名保持一致,便于理解
- 占位符名称不能包含特殊字符,建议使用字母、数字、下划线
- 如果数据文件中没有对应的列,需要在列选择器中选择其他列
- 格式:
-
准备测试数据 将您的CSV或Excel文件放入
data/目录
在JupyterLab中使用
from batch_data_test_tool import cola_start
# 启动交互式界面
cola_start()
界面操作步骤
启动cola_start()后,按以下步骤操作:
- Step001: 选择数据文件 - 从
data/目录选择CSV或Excel文件 - API配置 - 从
config.json中选择预配置的API接口 - Step002: 读取数据 - 点击"读取数据"按钮加载文件
- Step003: 数据预览 - 查看数据前5行
- Step004: 选择数据列 - 将数据列映射到API参数(自动根据config.json生成)
- Step005: 批量处理 - 发送HTTP请求并处理响应
- Step006: 选择保存列 - 选择要保存的结果列
- Step007: 保存数据 - 自定义文件名保存到
output/目录
许可证
本项目采用 MIT 许可证。详见 LICENSE 文件。
贡献
欢迎提交Issue和Pull Request!
更新日志
v1.2.0
- 🚀 重大更新 - coffee_start通用批量处理工具:
- 新增
coffee_start入口,提供通用的批量处理功能 - 保存完整Response结果,不做解析,提升通用性
- 支持嵌套参数解析,处理复杂API配置结构
- 新增
- ⚡ 性能优化:
- 增加并发处理功能,支持多线程批量请求
- 动态进度条显示,实时展示处理进度
- 自动保存功能,防止大量数据长时间运行丢失
- 📊 日志系统:
- 结构化日志记录,包含元数据日志
- 每行数据详细日志(数据本身、Request、Response、异常信息)
- 日志分离:控制台显示简洁信息,文件记录详细信息
- 🎯 界面增强:
- 并发数选择器,可调节处理并发度
- 自动保存勾选框,支持处理完成后自动保存
- 进度条实时显示处理状态
v1.1.1
- ✨ 新增功能:
- 支持JSON配置文件,可配置多个API接口
- 动态参数映射,支持数据列与API参数的灵活映射
- API配置切换时自动更新参数选择器
- 自定义文件名保存功能
- 自动创建output目录并保存结果文件
- 🎯 界面优化:
- 新增API配置选择器
- 动态列选择器,根据API配置自动调整
- 自定义文件名输入框
- 📁 文件管理:
- 结果文件自动保存到output目录
- 支持时间序列命名和自定义命名
支持
如果您遇到任何问题或有建议,请:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file batch_data_test_tool-1.2.0.tar.gz.
File metadata
- Download URL: batch_data_test_tool-1.2.0.tar.gz
- Upload date:
- Size: 25.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77abf2cf06d759de90d6c942e61a2849d45b9da9b2e6f5d054406a607b1eeb35
|
|
| MD5 |
408517cb0624f132e2b4e062a8a57e92
|
|
| BLAKE2b-256 |
6ef38a4ce993755201132769883b0cf33a14952b0620d90200a6b479aa369b01
|
File details
Details for the file batch_data_test_tool-1.2.0-py3-none-any.whl.
File metadata
- Download URL: batch_data_test_tool-1.2.0-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
679e94d9cd64afc4a86086bbbf5ab807a9f578a040e987589e2c8d83dc3fe842
|
|
| MD5 |
fa859e1e560fe36c8dd544eb1a4154bf
|
|
| BLAKE2b-256 |
0faedc61692675367e881f6e59e5b35d64572d66dadd9409471b66b4348883f7
|