gpt4 book ai didi

algorithm - 如何根据某些条件合并两个大文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:20:58 25 4
gpt4 key购买 nike

我有两个文件,它们的大小超过 1 TB。每一行都是 id, name 在一个文件中。每一行都是 id, age 在另一行。我想合并它们。结果文件的每个留置权都像 id, name, age。有什么好的解决办法吗?

最佳答案

首先 - 考虑使用数据库 - 它们旨在使这种工作完美无缺。

如果数据库方法不可行,请准备按 id 键排序的数据文件。

有一些关于大文件排序、外部排序的主题——选择适合您需要的方法。

如果可能,请使用(我认为 - 高度优化) 实用程序,如 GNU sort可以选择键进行比较

然后执行合并操作——从两个排序的文件中读取行,以获取相同 id 的形式并写入结果字符串。如果某个id较小,则从相应文件中读取下一行,依此类推。伪代码:

 while not EOF(fileA) and  not EOF(fileB):
if lineA.id == lineB.id:
write(fileC, lineA.id, lineA.name, lineB.age)
lineA = readNext(fileA)
lineB = readNext(fileB)
else if lineA.id < lineB.id:
lineA = readNext(fileA)
else:
lineB = readNext(fileB)

关于algorithm - 如何根据某些条件合并两个大文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53256792/

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