gpt4 book ai didi

python - 在 Perl 或 Python 中按列值将 100 亿行文件拆分为 5,000 个文件

转载 作者:太空宇宙 更新时间:2023-11-04 08:49:44 25 4
gpt4 key购买 nike

我有一个 100 亿行制表符分隔的文件,我想根据一列(第一列)拆分成 5,000 个子文件。我怎样才能在 Perl 或 Python 中有效地做到这一点?

这已经在这里问过,但所有方法都会为读取的每一行打开一个文件,或者将所有数据放入内存中。

最佳答案

awk 助您一臂之力!

awk 'f!=$1{close(f)} {f=$1; print >> f}' file

它将逐行处理,一次打开一个文件。

如果你将原始文件拆分成 block ,这可以更有效地并行完成并合并生成的文件(如果需要保留顺序,需要标记它们)

关于python - 在 Perl 或 Python 中按列值将 100 亿行文件拆分为 5,000 个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36630739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com