2013-12-10 32 views
0

我要讀取包含相關矩陣值的數據並編寫像這樣的製表符分隔的新文件。Python)從相關矩陣文件解析數據

Input_data)(9行,2列)

A_A 1 
A_B 2 
A_C 3 
B_A 2 
B_B 4 
B_C 5 
C_A 3 
C_B 5 
C_C 6 

Output_data)(3行,5列)

A B 2 C 3 
B A 2 C 5 
C A 3 B 5 

即,在Output_data的情況下,行數爲3 (來自3 * 3矩陣文件,Input_data)。
如果仔細觀察Output_data,則第一列包含A_B,A_C(A_A除外)的值。實際上,我想解析的真實數據包含大約200行和2列。
我應該如何在讀取相關矩陣文件後編寫這種格式?

回答

2

試試這個:

dct = {} 
with open('input', 'r') as f: 
    for line in f: 
     name, value = line.split() 
     key, name = name.split('_') 
     lst = dct.get(key ,[]) 
     lst.extend([name, value]) 
     dct[key] = lst 


with open('result', 'w') as f: 
    for k, v in dct.items(): 
     f.write(k+" " + (" ".join(v))+"\n")