2016-11-04 61 views
1

所以我試圖添加標頭數據在.txt如何將其他變量標題添加到.txt文件?

與我目前的代碼創建標題;但是,它也會刪除與每個變量相關的值。

關於如何創建不會刪除我的值的代碼的任何建議?

infile=open("Z:\\data2.txt", "r") 
outfile =open("Z:\\data3.txt", "w") 

count=0 
for line in infile.readlines(): 
    if count<1: 
     d="concord_Old_SAT_V" 
     e="concord_Old_SAT_M" 
     f="concord_Old_SAT_W" 
     g="concord_ACT_C" 
     h="concord_ACT_R" 
     i="concord_New_SAT_C" 
     j="concord_New_SAT_RW" 
     k="concord_New_SAT_M" 
     l="concord_New_SAT_R_Test" 
     m="concord_New_SAT_W_Test" 
     n="concord_New_SAT_M_Test" 
    outfile.write(line.strip("\n") + '\t' + d + '\t'+ e + '\t' + f + '\t' + g + '\t' + h + '\t' + i + '\t' + j+ '\t' + k + '\t' + l+ '\t' + m + '\t' + n+ "\n") 
    count+=1 
infile.close() 
outfile.close() 
+0

我強烈建議你看看csv模塊https://docs.python.org/3/library/csv.html看起來它可以爲你做**: - )** – BorrajaX

+0

我們有不知道你是如何打開這個文件的,所以你可能很難判斷你是在追加還是隻是在完全寫作。顯示你如何打開文件。 – Abdou

+1

該代碼有縮進錯誤。修復它們,所以我們可以告訴你實際運行的是什麼。 –

回答

0

如果你的頭,少的數據包含在Z:\\data2.txt,那麼所有你需要做的是開放的r+模式下的文件,讀取內容,並把它背在前面加上你的標題到內容之後。您可能根本不需要創建文件。下面應該是一個體面的起點:

headers = ["concord_Old_SAT_V", 
    "concord_Old_SAT_M", 
    "concord_Old_SAT_W", 
    "concord_ACT_C", 
    "concord_ACT_R", 
    "concord_New_SAT_C", 
    "concord_New_SAT_RW", 
    "concord_New_SAT_M", 
    "concord_New_SAT_R_Test", 
    "concord_New_SAT_W_Test", 
    "concord_New_SAT_M_Test"] 

with open('Z:\\data2.txt','r+') as infile: 
    content = infile.read() 
    infile.seek(0,0) 
    infile.write("\t".join(headers)+"\n"+content) 

我希望這可以幫助。

相關問題