CSV 数据生成器
按列定义规则,批量生成结构化测试数据并导出 .csv 文件
列定义
数据预览
仅显示前 10 行,导出时生成全部行数
仅显示前 10 行,导出时生成全部行数
什么是 CSV 数据生成器?
CSV 数据生成器是一款在线批量生成结构化测试数据并导出为标准 .csv 文件的工具。你只需为每一列选择一种数据类型——姓名、手机号、身份证、日期、金额、UUID 等——设定生成行数,即可产出符合规则的模拟数据。还可以选择分隔符(逗号、分号、制表符或竖线)、是否包含表头行、是否添加 UTF-8 BOM,让 Excel 打开时不出乱码。所有数据都在你的浏览器本地生成,不会上传到任何服务器,既适合开发和测试时填充数据库、演示界面,也能用于教学和演示。工具支持十种语言的本地化假数据:选定数据语言后,姓名、公司、城市、电话等字段会以对应语言地区的真实习惯格式生成,例如日语生成日本姓名、韩语生成韩国公司名。
使用方法
使用步骤
- 在顶部选择「数据语言」,决定姓名、公司等本地化字段的生成风格
- 设置需要生成的行数,或点击快捷按钮选择 100 / 1K / 10K / 50K
- 在「CSV 选项」中选择分隔符、换行符,以及是否包含表头行和 UTF-8 BOM
- 在「列定义」中逐列添加:填写列名、选择数据类型、按需填写参数(如数字的范围、日期的起止)
- 点击「生成预览」查看前 10 行效果,确认无误后点击「导出 .csv」下载文件,或点击「复制 CSV」直接复制文本
使用技巧
- 枚举类型用逗号分隔多个候选项,适合生成性别、状态、等级这类固定取值
- 正则表达式类型可按自定义规则生成字符串,灵活覆盖内置类型未提供的场景
- 当数据本身含有逗号时,改用分号、制表符或竖线作为分隔符,避免字段被错误拆分
- 若要在 Windows 的 Excel 中打开 CSV,建议开启 UTF-8 BOM,确保中文等非 ASCII 字符不乱码
- 用「复制 CSV」可直接把生成数据粘贴到表格或编辑器,无需保存文件
使用场景
技术原理
工具的核心是一套按列类型分发的数据生成器。每列绑定一个类型,生成时遍历每一行调用对应类型的生成函数,产出一个二维数组。类型分为两类:一类是本地化假数据,借助 @faker-js/faker 的多语言 locale 模块,按选定的数据语言调用对应地区的姓名、公司、城市、电话等生成方法,因此日语得到日本姓名、韩语得到韩国地址;另一类是格式化数据,如数字、日期、金额、UUID、IP、身份证等,由工具自行实现的纯函数生成,其中中文身份证按 GB 11643 标准计算 18 位号码的校验位。 与表格格式不同,CSV 没有单元格类型,每个值都是纯文本。因此生成后的每个值都会被序列化为可读字符串——日期为 ISO 字符串(yyyy-mm-dd)、金额带货币符号、布尔值为 true/false——再按 RFC 4180 规范拼装文件:任何包含分隔符、双引号或换行的字段都会用双引号包裹,字段内的双引号通过重复一次来转义。分隔符可在逗号、分号、制表符、竖线之间切换,换行符可选 CRLF 或 LF,并可选择在文件开头加上 UTF-8 BOM,让 Excel 正确识别编码。 数据按选定语言对应的 faker locale 模块动态加载,只引入当前需要的那一份,避免把十种语言的数据全部打包进页面。所有生成与导出都在浏览器本地完成,不上传任何数据。随机源使用浏览器内置的伪随机数生成器,单次生成结果互不重复但不可复现;如需可复现的数据,可固定随机种子(后续版本支持)。生成上限设为 5 万行,是内存占用与导出耗时的平衡点,足以覆盖绝大多数测试与演示需求。
- 按列类型分发:本地化数据走 faker locale,格式化数据走自实现纯函数
- faker locale 动态加载,只引入当前语言,控制包体积
- CSV 遵循 RFC 4180:含分隔符、引号或换行的字段加引号,内部引号重复转义
- 可选 UTF-8 BOM,让 Excel 打开时非 ASCII 字符不乱码
- 全程浏览器本地处理,数据不外传,保护隐私
示例
用户表样例
列定义:
ID -> 自增序号(起始 1,步长 1)
姓名 -> 姓名
邮箱 -> 邮箱
手机号 -> 电话号码
注册时间 -> 日期时间
分隔符:逗号,表头:包含,BOM:开启
行数:1000
输出:用户表.csv(1000 行)订单金额样例(分号分隔)
列定义:
订单号 -> UUID
金额 -> 金额(最小 10,最大 9999,2 位小数)
折扣 -> 百分比(最小 0,最大 50)
状态 -> 枚举(待付款,已付款,已发货,已完成)
分隔符:分号(金额不含逗号,但分号可避开地区格式差异)
输出:订单.csv,可在 Excel 打开或直接导入数据库。常见问题
生成的数据会上传到服务器吗?
不会。所有数据都在你的浏览器本地生成和拼装,工具不会把你的列定义、生成结果或导出的 CSV 文件发送到任何服务器,适合处理需要保密的表结构和字段布局。
最多能生成多少行?
单次最多 50000 行。这是浏览器内存与 CSV 拼装耗时的平衡点,足以覆盖绝大多数测试、演示和数据库导入场景。如需更大数据量,建议分多次生成或改用数据库脚本。
为什么姓名、公司等数据要选择「数据语言」?
姓名、公司、城市、电话等字段具有强烈的地区特征。选定数据语言后,工具会按对应语言地区的真实习惯生成,例如选日语生成日本姓名、选韩语生成韩国公司名,使你的 CSV 测试数据更贴近真实业务。
为什么 CSV 里的数字和日期都是文本?
CSV 是纯文本格式,没有单元格类型,所有值都以字符串存储。数字、金额、日期等都会序列化为可读文本。如果需要 Excel 能直接计算的原生单元格类型,请改用 Excel 数据生成器。
什么时候需要开启 UTF-8 BOM?
如果要在 Windows 的 Excel 中打开 CSV,尤其是数据包含中文或其他非 ASCII 字符时,建议开启 BOM,让 Excel 按 UTF-8 读取、避免乱码。大多数数据库和编程工具不依赖 BOM 也能正确处理 UTF-8,这类场景可以关闭。
分隔符应该怎么选?
默认逗号兼容性最好。如果数据本身含逗号(例如自由填写的地址),改用分号、制表符或竖线,避免字段被错误拆分。部分欧洲地区用逗号作小数点,此时分号是惯例分隔符。
如何生成工具内置类型没有的格式?
使用「正则表达式」类型,按自定义规则生成字符串。例如 [A-Z]{3}\d{4} 可生成三位大写字母加四位数字的编码,灵活覆盖内置类型未提供的场景。