如何比较python中的两个文本文件?

2024-09-27 09:31:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个巧合分析代码,比较python中的两个文本文件。我编写的代码如下:

datafile1 = np.loadtxt('some_file_1.txt')
datafile2 = np.loadtxt('some_file_2.txt')
SNR1 = datafile1[:,0]
peak1 = datafile1[:,1]
m11 = datafile1[:,2]
m12 = datafile1[:,3]
SNR2 = datafile2[:,0]
peak2 = datafile2[:,1]
m21 = datafile2[:,2]
m22 = datafile2[:,3]

f = open('out_file.txt', 'w')
F = datafile[:,1].astype(int)         
for i in F:         
    for j in range(i-40,i+41):
        if (m11[j] == m21[i] and m12[j] == m22[i]):
          f.write(SNR1[j] + " " + peak1[j] + " " + m11[j])
          f.write("\n")
f.close()

代码应该从“peak2”中获取一个值,然后将其与“peak1”的所有值进行比较。如果“peak1”的值等于或在与“peak2”的+/-40差以内,并且如果“m11”的值等于“m21”,如果“m12”等于“m22”,则应将“peak1”、“m11”和“m12”的值写入文本文件。我得到的错误是“索引477358超出了大小为10000的轴0的界限 “。我意识到错误是关于索引的,但我不知道如何以有效的方式纠正它


Tags: 代码txtnpsomefile文本文件loadtxtm11
1条回答
网友
1楼 · 发布于 2024-09-27 09:31:16

如果我理解的很好,这就是在Python中比较两个文件的方式

with open('some_file_1.txt', 'r') as file1:
    with open('some_file_2.txt', 'r') as file2:
        same = set(file1).intersection(file2)

same.discard('\n')
with open('some_output_file.txt', 'w') as file_out:
    for line in same:
        file_out.write(line) 

如果有人回答你,请告诉我

相关问题 更多 >

    热门问题