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

标签 python sql bash csv bigdata

我有一个 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/

相关文章:

mysql - 如何在请求其中一个等于的情况下获取不同值的计数

mysql - 当我在两个表上执行 'select' 查询时,它会呈现表内的所有元素

bash - 在 Go 中启动一个定义为别名的终端命令

bash - 外壳脚本 : bad interpreter: No such file or directory when using pwd

c++ - Bash 在子 shell 中的后台运行命令

python - 将地理坐标从 GEOSTAT 转换为 lat 和 lng

python - 如何防止 Django 中的 FCGI 请求超时

sql - 如何多次使用特定列连接两个表

python - Selenium Python : Unable to locate element

python - 如何根据复杂的列条件集聚合重复行