2015-12-07 49 views
0

我想讀取1個文件,從中解析數據,然後將每個解析列寫入另一個目錄中的另一個文件。這是我的代碼:Python - 讀取單個文件,從中提取數據,然後將其寫入多個文件

os.makedirs("new_directory") 
my_file = open("original_file.txt", "r+") 
output = "new_file.txt" 
outputfile = open("new_directory/"+output, "w") 
num = 3 

for line in my_file: 
    line = line.split("\t") 
    sample = line[num] 
    lst = line[1] + "\t" + line[2] + "\t" + sample + "\n" 
    outputfile.write(lst) 

這是據我所知。我想用原始文件中的不同信息編寫multipe輸出文件,並將它們全部保存在新目錄中。我怎麼能寫一個循環來改變輸出文件名稱每次 - 我試圖增加「民」,然後也許它添加到輸出變量:

output = "new_file" + num + ".txt" 
outputfile = open("new_directory/"+output, "w") 

或者是這樣的。有沒有更好的辦法?

+1

的列表中,您能不能給的數據是如何的例子嗎?謝謝。 – gabra

+0

'chr pos基因ID_1 ID_2 ID_3 ID_4' '1 123 p53 121 763 767 200' '2 124 rtk1 162 323 123 72' '3 156 tf1 127 34 45 764' – trouselife

回答

1

您可以創建文件

outputfiles = []  
for num in range(number_of_output_files):  
    output = "new_file" + str(num) + ".txt" # or "new_file%d.txt"%(num) 
    outputfiles.append(open("new_directory/"+output, "w")) 

for num in range(number_of_output_files):  
    outputfiles[num].write('something\n') 

for num in range(number_of_output_files):  
    outputfiles[num].close() 
+0

謝謝。但是我收到一條錯誤消息:無法在'output =「new_file」+ num +「.txt」行連接'str'和'int'對象行 – trouselife

+0

使用'output =「new_file」+ str(num)+「.txt 「' – Tempux

+0

ahhhhh就是這樣!非常感謝 – trouselife

相關問題