我在csv中有一个示例数据集。它只有5万行。我想对这个数据集测试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解决方案,因为我正在跨多个数据库平台进行测试
使用bash:
head
命令显示标题。你知道吗for
运行命令tail
5次,该命令显示file
的内容,但第一行除外(-n+2
将偏移量设置为第二行)。你知道吗因为您还没有指定要针对哪个RDBMS执行SQL,所以我将为您提供一个PostgreSQL解决方案。你知道吗
首先,可以使用COPY命令将CSV数据复制到PostgreSQL中。你知道吗
然后您可以使用generate\u series函数像这样扩展您的数据(CTE csv仅用于测试目的):
根据需要调整。这个生成的是CTE csv的99倍。你知道吗
我制作了一个小的python脚本:
并称之为:
要获得更好的参数验证/解析,请使用argsparse。你知道吗
相关问题 更多 >
编程相关推荐