2016-11-04 65 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) 

我希望这可以帮助。

相关问题