2017-10-13 54 views
0

的比較部件我有結構如下圖所示兩個長文本文件(〜50K線):的Python:在兩個文本文件中的行與列數不同

time index length a b c ... 

所有這些都是整數。 'length'告訴我後面的數字的數量(這裏標記爲'a','b','c',...),對於每一行都是不同的(對於同一行也是不相等的兩個文件)。這些數字是排序的。現在,我需要找出第1行第1行中出現的數字「a」,「b」,「c」還有多少出現在文件2的第1行,以及整個文件的等等。我曾嘗試過熊貓,但列數不定給我帶來一些麻煩。

回答

0

這裏有一個想法:

  • 讓你的文件的第一行
  • 讓你的文件的第一線b
  • 創建於第一線的列表。將兩個列表中的每個空格(「」)分隔開來。
  • 刪除前3個項目(時間,索引和長度)。
  • 對於您的文件列表中的每個項目,搜索它在文件一覽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") 
相關問題