Skip to main content
 首页 » 编程设计

python之通过复制记录创建大型数据集

2025年05月04日13三少

我有一个 csv 格式的示例数据集。它只有 ~50K 行。我想针对此数据集测试 SQL 查询的性能,但 50K 行对于此目的来说太小了。获取现有 csv 并创建一个比原始 csv 大 N 倍并且每行重复 N 次的新 csv 的最佳方法是什么?

例如如果 N = 5

输入的 csv 是:

col1, col2, col3 
1, 'some string', '1999-01-01' 
2, 'another string', '2001-01-01' 

所需的输出 csv 为:

col1, col2, col3 
1, 'some string', '1999-01-01' 
2, 'another string', '2001-01-01' 
1, 'some string', '1999-01-01' 
2, 'another string', '2001-01-01' 
1, 'some string', '1999-01-01' 
2, 'another string', '2001-01-01' 
1, 'some string', '1999-01-01' 
2, 'another string', '2001-01-01' 
1, 'some string', '1999-01-01' 
2, 'another string', '2001-01-01' 

欢迎使用 bash、python 或 SQL 解决方案

首选 bash 或 python 解决方案,因为我正在跨多个数据库平台进行测试

请您参考如下方法:

使用庆典:

n=5 
(head -n1 file; for i in $(seq 1 $n); do tail -n+2 file; done) > output.csv 

head 命令显示标题。

for 运行命令 tail 5 次,显示 file 的内容除了第一行 (-n+2 将偏移量设置为第二行)。