跳到工具
ViewCSV
无需上传文件

CSV 测试数据生成

预览
#idnameemailsignup_dateplanamount
11刘敏taylor.harbor1@example.test2025-03-17Free315.13
22徐洋taylor.velvet2@example.test2025-07-22Free485.36
33孙娟quinn.orbit3@example.test2025-02-26Free397.70
44周静morgan.lumen4@example.test2024-09-28Team258.90
55赵伟avery.atlas5@example.test2024-01-11Free250.80
66李静jamie.signal6@example.test2024-08-18Free319.01
77孙娜avery.cedar7@example.test2024-10-17Free162.79
88张磊riley.atlas8@example.test2024-11-26Free476.86
99孙伟avery.copper9@example.test2024-07-19Free15.43
1010徐磊riley.velvet10@example.test2024-09-20Free246.07
1111黄敏avery.cobalt11@example.test2024-09-25Pro414.32
1212李洋morgan.signal12@example.test2025-04-20Free388.35
1313徐勇taylor.harbor13@example.test2025-02-17Free193.23
1414赵杰morgan.quartz14@example.test2024-02-19Free425.88
1515徐伟riley.atlas15@example.test2025-06-29Free303.49
1616张伟quinn.ember16@example.test2025-01-17Free269.41
1717陈娜jamie.copper17@example.test2025-03-14Free339.44
1818李洋quinn.maple18@example.test2025-08-17Pro160.18
1919王艳quinn.prism19@example.test2025-09-05Pro444.79
2020张杰alex.copper20@example.test2024-04-18Pro321.08
2121赵涛jordan.cedar21@example.test2025-05-06Pro259.88
2222陈涛jordan.maple22@example.test2024-11-13Pro450.71
2323赵洋jamie.harbor23@example.test2025-02-26Free243.05
2424黄杰morgan.delta24@example.test2024-02-22Free59.72
2525王娟jamie.orbit25@example.test2024-12-20Free90.04
2626黄伟casey.paper26@example.test2024-01-11Pro454.97
2727吴艳jordan.tundra27@example.test2025-03-01Free468.54
2828王洋taylor.cedar28@example.test2024-05-07Pro399.73
2929张杰jamie.signal29@example.test2024-07-01Free339.48
3030赵洋alex.meadow30@example.test2025-11-09Pro267.97

预览 100 行中的前 100 行。

最多定义 100 列,为每列选择字段类型,设置 1 到 1,000,000 之间的行数和一个种子值。只要种子和列设置相同,任何浏览器都会生成完全相同的行,因此测试文件可以随时重新生成,不必另外保存。姓名、邮箱和电话都是虚构的:邮箱以 @example.test 结尾,英文界面下的电话号码使用 555 号段。数据在你的浏览器中生成,不会上传任何内容。

如何生成 CSV 文件

  1. 设置行数(1 到 1,000,000)和种子值。初始配置包含 6 列:序号 id、全名、邮箱、2024–2025 年间的注册日期、按 6:3:1 比例从 Free、Pro、Team 中选取的套餐,以及 0 到 500 之间、保留两位小数的金额。
  2. 添加、删除或重命名列,并为每列选择字段类型。每个列名都必须填写,且不能重复。
  3. 可以按需设置空单元格的比例,或要求某列的值不重复,然后生成并下载文件。

数据行在后台线程中分批写出,而不是拼成一个巨大的字符串,所以生成 100 万行时页面也不会卡死,点击取消即可停止任务。单个输出文件最大 4 GB。

字段类型

序号从起始值(默认 1)开始,按步长(默认 1)递增。可选的补位宽度会生成 000001 这样的编号;负数不会补位。
UUID采用 RFC 9562 第 4 版的格式(xxxxxxxx-xxxx-4xxx-[89ab]xxx-…),由带种子的生成器产生。因为结果可以重现,所以不能用作密钥或安全令牌。
名、姓、姓名使用界面语言中常见的姓名。中文、日文和韩文的全名姓在前、名在后,中间没有空格。
邮箱(测试域名)格式为 name.word<row>@example.test,例如 casey.maple1@example.test。其中的行号保证每个地址都不重复。邮箱不是根据姓名列生成的。
电话号码一个模式,其中每个 # 会替换为一位数字。留空时使用界面语言的默认格式;英文界面为 +1 555-###-####。
公司、城市、国家/地区使用界面语言的虚构公司名和真实城市名;国家/地区从固定的 20 个国家/地区中选取。
整数介于最小值和最大值之间(含两端)的整数。两个边界都必须填写,且必须在 ±9,007,199,254,740,991 以内,这是 JavaScript 能精确保存的最大整数。
小数介于最小值和最大值之间的数字,保留 0 到 10 位小数,例如 114.71。
true / false以相同概率生成 true 或 false。
日期、日期时间在两个 YYYY-MM-DD 日期之间(含两端)随机取一天。日期时间会再加上一个随机的 UTC 时间:2026-01-04T09:17:35Z。
从列表中选取每行一个值,可在冒号后加权重:Free:6、Pro:3、Team:1 表示约 60% 的行取 Free。不写权重的行按 1 计算。
模式一个模板,其中 # 代表数字,? 代表大写字母,* 代表数字或大写字母:SKU-####-?? 会生成 SKU-6836-LU。其他字符原样保留。
词语从固定的 20 个常用英文单词中取 1 到 20 个(默认 3 个),用作占位文本。
固定值每一行都是同样的文本。

种子与可重现性

种子可以是任意文本。每列都有自己独立的随机序列,由种子和列名共同决定,因此:

  • 种子、行数和列设置相同时,在任何浏览器中每次生成的文件都逐字节相同;
  • 添加、删除或调整其他列的顺序,不会改变某一列的值,但重命名该列会改变它的值;
  • 增加行数时,前面的行保持不变,新行追加在后面;
  • 界面语言只影响姓名、城市、公司和默认电话格式,不影响数字、日期、选项和邮箱。

空单元格使用另一条独立的随机序列。空单元格不会占用一个值,所以修改空值比例后,该列后续行中出现的值会整体错位。

空单元格与唯一值

空单元格比例按列设置,取值 0 到 100(百分比);每个单元格都按这个概率留空。可以用它测试导入程序如何处理缺失值。

开启唯一值后,生成器会不断重新抽取,直到该值在这一列中没有出现过;尝试 1,000 次仍不成功时会停止,并报错指出是哪一列。如果唯一性根本无法满足,设置会被直接拒绝:例如整数范围内的整数个数少于行数,或选项数量少于行数。其他类型仍可能在中途耗尽,例如英文界面下唯一的全名在约 144 行后就会用完(12 个名 × 12 个姓)。序号、UUID 和固定值列不做此检查,空单元格也不计入已用的值。

设置错误

  • 行数必须是 1 到 1,000,000 之间的整数,列数必须在 1 到 100 之间。
  • 有列名为空或重复:每个表头都必须填写,且互不相同。
  • 整数列和小数列必须同时填写最小值和最大值,且最小值不能大于最大值。
  • 日期范围必须写成 YYYY-MM-DD,例如 2024-01-01;2024/01/01 或 01/02/2024 会被拒绝。
  • 模式中至少要包含一个 #、? 或 *;否则请改用固定值列。
  • 选项列表中至少要有一个权重大于 0 的值。

示例

使用种子 demo-2026 生成 5 行:从 1001 开始、补位到 6 位的序号,全名,邮箱,带权重的选项,0 到 250 之间、空值比例 40% 的小数,以及模式 SKU-####-??。用相同设置再生成一次,得到的行完全一样。下面的换行符显示为普通换行。

CSV
rows: 5    seed: demo-2026    language: English
customer_id  sequence  start 1001, width 6
name         full name
email        email
plan         choice    Free:6 / Pro:3 / Team:1
mrr          decimal   0–250, 2 places, 40% blank
sku          pattern   SKU-####-??
CSV
customer_id,name,email,plan,mrr,sku
001001,Mary Brown,casey.maple1@example.test,Free,,SKU-6836-LU
001002,Ethan Davis,taylor.copper2@example.test,Pro,,SKU-8060-HR
001003,Ethan Clark,morgan.falcon3@example.test,Team,114.71,SKU-1401-TZ
001004,Olivia Davis,jordan.harbor4@example.test,Pro,91.82,SKU-8840-PT
001005,Mia Taylor,casey.prism5@example.test,Free,6.99,SKU-6878-OZ

常见问题

生成的数据可以放心分享吗?

其中没有真实人物:姓名是常见名和姓的随机组合,邮箱使用保留的 .test 域名(RFC 2606),英文界面下的电话号码使用 555 号段。城市名是真实地名。

同事能得到同样的文件吗?

能,只要种子、行数、界面语言和列设置(包括列名)都相同。生成器使用自己的带种子算法,而不是浏览器提供的随机数。

我需要的是大文件,还是小型测试样例?

如果只需要几行带说明、包含已知边界情况的数据,请使用 CSV 示例文件。需要大量数据、自定义列名或特定类型组合时,再使用生成器。

标准与参考资料