excel模板数据填充 :tablefill
背景(问题)
在Web后台系统中或多或少都存在导入数据的功能,其中操作流程基本是
1.下载模板
2.填充模板数据
3.上传模板
但通常比较耗费时间的是填充模板数据这一步骤, 已自己为例之前的数据要么是随便想的或者通过Python库Faker 来生成虚拟数据之后,手动将数据复制到excel模板中。
tablefill
tablefill 解决的问题,手动将数据复制到excel模板中这一步骤给省略掉。它通过一个列配置文件
来指定生成的数据,并填充到模板中。
整体实现是比较简单的:1.读取配置文件,2.用Faker库转换数据,3.追加写入excel文件
https://pypi.org/project/tablefill/
使用
安装
pip install tablefill
CLI
# 通过一下查看有那些命令 fill --help
配置列数据类型
[ { "type": "faker", // 可选值 faker(默认值,可不写type这个字段)、input 会直接读取var 的值 由自己设置 "func": "name", // 对应的是 Faker 生成虚拟数据的那些方法名 https://faker.readthedocs.io/en/master/providers.html "var": null, // 没有参数时可以不写该字段, 当type 为faker时 这部分会被作为func 对应函数名的入参 "varFirst": "前", // 如果不需要可以不写该字段, 会在 var 这个 参数 前面 加上 内容 "varEnd": "后" // 如果不需要可以不写该字段, 会在 var 这个 参数 后面 加上 内容 } ]
示例
[ { "type": "input", "var": "这列我输入" }, { "func": "phone_number" }, { "func": "random_int", "var": { "min": 10, "max": 21 }, "varFirst": "编号", "varEnd": "班" }, { "func": "random_elements", "var": { "elements": ["小学", "高中", "初中"], "length": 1 } } ]
导入模板文件
执行命令
# --num 可选参数 默认 10条 ,这里就是30条 fill generate 配置文件 模板文件 生成文件名 --num 30 fill generate "E:\coding\tablefill\examples\demo.json" "E:\coding\tablefill\examples\demo.xlsx" demo.xls
已知问题
- 生成的文件后缀是
.xlsx
时,用office 无法打开: 解决办法: 后缀改为.xls
- 生成的文件会丢失之前模板文件中的样式
分类:
软件测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)