小编Bru*_*ial的帖子

合并2个非常大的文本文件,更新每一行,而不使用内存

假设我有两个文本文件,每个文件大约有200万行(每个文件大小约为50-80MB).两个文件的结构是相同的:

Column1 Column2 Column3
...
Run Code Online (Sandbox Code Playgroud)

第1列永远不会更改,第2列:两个文件中的相同值可能不同,并且两个文件的顺序不同,Column3是一个数字,并且在每个文件中都不同.

我需要能够将它们合并到一个文件中,与第2列匹配.如果两个文件中都存在Column2,则通过将两个文件中的Column3值一起添加来更新Column3.

如果文件不是那么庞大,我可以通过将两个文件的每一行读入数组并从那里开始,轻松地在PHP中执行此操作,但这样做很容易使可用内存过载.

有没有办法在不将每一行加载到内存中的情况下执行此操作?我对PHP很熟悉,但如果它们不是太复杂而无法理解,则可以使用Python,Java或Shell脚本.

php python memory merge file-io

6
推荐指数
1
解决办法
1081
查看次数

标签 统计

file-io ×1

memory ×1

merge ×1

php ×1

python ×1