Python:比较两个具有不同列数的文本文件中的部分行

2024-04-26 18:14:01 发布

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

我有两个长文本文件(约5万行),其结构如下:

time   index   length    a    b    c    ...

都是整数length'告诉我后面的数字量(这里标记为'a'、'b'、'c'、…),每一行的数字量可能不同(对于两个文件中的同一行也不相等)。这些数字已排序。现在,我需要找出文件1的第1行中出现的数字'a'、'b'、'c'中有多少也出现在文件2的第1行中,依此类推整个文件。我曾经尝试过用Pandas实现这个功能,但是列数的变化给我带来了一些麻烦。你知道吗


Tags: 文件标记功能pandasindextime排序数字
1条回答
网友
1楼 · 发布于 2024-04-26 18:14:01

有个主意:

  • 获取文件的第一行
  • 获取文件b的第一行
  • 用第一行创建一个列表。将两个列表中的每个项目隔空格(“”)隔开
  • 删除前3项(时间、索引和长度)。你知道吗
  • 对于文件a列表中的每个项目,请在文件b列表中搜索它
  • 对文件中的每行重复此操作

这可能有助于您:

filea = "C:\file\path\a.txt"
myfilea = open(filea, 'r')
data=myfilea.readlines()

fileb = "C:\file\path\a.txt"
myfileb = open(fileb, 'r')
datb=myfileb.readlines()

for ia in range (0,len(data)):
    linea = []
    lineb = []
    linea = data[ia].split()
    lineb = datb[ia].split()
    for x in range (0,len(linea)):
        if(linea[x] in lineb):
            print(str(linea[x])+" has been found")

相关问题 更多 >