我有一个 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
将偏移量设置为第二行)。
关于python - 通过复制记录创建大型数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53086356/