比较两个文件

发布于 2024-11-05 12:41:57 字数 324 浏览 3 评论 0原文

我有两个这种格式的文件,

file1= filename val1 val2
file2= filename val3 val4

我想比较文件名,如果它们具有相同的名称,我想获得像这样的第三个文件 -

filename val1 val2 val3 val4

我从 file1 中选择一个文件名并遍历 file2 看看我是否得到它。然后寻找指向 file2 顶部的下一个文件名的指针..是否有更有效的方法来做到这一点?

I have two files in this format

file1= filename val1 val2
file2= filename val3 val4

I want to compare filenames and if they have the same names , i want to get a third file like this-

filename val1 val2 val3 val4

I am picking a filename from file1 and going across file2 to see if i get it. Then seeking pointer back to the top of file2 for the next filename..is there a more efficient way of doing it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦在夏天 2024-11-12 12:41:57

听起来您正在寻找的是标准 join 命令(不是 Python,而是标准 Unix shell 实用程序)。这是系统手册页的一个片段(似乎比 Linux 的手册页更详细)加入):

        join phonedir names

        If the phonedir file contains the following names:

        Adams A.        555-6235
        Dickerson B.    555-1842
        Erwin G.        555-1234
        Jackson J.      555-0256
        Lewis B.        555-3237
        Norwood M.      555-5341
        Smartt D.       555-1540
        Wright M.       555-1234
        Xandy G.        555-5015

        and the names file contains these names and department numbers:

        Erwin           Dept. 389
        Frost           Dept. 217
        Nicholson       Dept. 311
        Norwood         Dept. 454
        Wright          Dept. 520
        Xandy           Dept. 999

        the join command displays:

        Erwin G.        555-1234        Dept. 389
        Norwood M.      555-5341        Dept. 454
        Wright M.       555-1234        Dept. 520
        Xandy G.        555-5015        Dept. 999

It sounds like what you're looking for is the standard join command (not Python, but a standard Unix shell utility). Here's a snip from the manual page on a system (that seems to have more detail than the Linux man page for join):

        join phonedir names

        If the phonedir file contains the following names:

        Adams A.        555-6235
        Dickerson B.    555-1842
        Erwin G.        555-1234
        Jackson J.      555-0256
        Lewis B.        555-3237
        Norwood M.      555-5341
        Smartt D.       555-1540
        Wright M.       555-1234
        Xandy G.        555-5015

        and the names file contains these names and department numbers:

        Erwin           Dept. 389
        Frost           Dept. 217
        Nicholson       Dept. 311
        Norwood         Dept. 454
        Wright          Dept. 520
        Xandy           Dept. 999

        the join command displays:

        Erwin G.        555-1234        Dept. 389
        Norwood M.      555-5341        Dept. 454
        Wright M.       555-1234        Dept. 520
        Xandy G.        555-5015        Dept. 999
我的痛♀有谁懂 2024-11-12 12:41:57

创建一个字典file2[filename] = (val3, val4)。您可以创建一次,然后从 file1 获得的给定文件名的查找时间需要恒定时间(即或多或少与 file2 的大小无关)

create a dict file2[filename] = (val3, val4). you can create this once, then lookup time for a given filename you get from file1 takes constant time (ie is more or less independent on the size of file2)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文