今晚我從兩個文件創建文件時遇到問題。我想要實現的文本文件將包含來自第一個文件的3個第一列和來自第二個文件的兩個2列。到目前爲止,我已經爲這些文件做了很好的閱讀和連接,但最終我並沒有實現所有的連接,只是一個連接正確。 :(管理兩個文件中的嵌套循環PYTHON
文件已結構介紹如下: 文件1:
DATA1 DATA2 data3 ......
DATA1 DATA2 data3 ......
文件2:
DATA1 DATA2 data3' data4 ....
DATA1 DATA2 data3' data4 ....
OUTPUTFILE:
DATA1 DATA2 data3 data3' data4
DATA1 DATA2 data3 data3' data4
正如我所說的,現在我只取得了一排在正確的方式不是每個。文件1和文件2沒有得到相同數量的r OWS。兩個輸入文件中的DATA1和DATA2必須相同。 問題是某處的循環,因爲我不能acheive完整的文件:( 我會版本的我的代碼錯誤校正非常gratefull
file1 = open('file1.txt', 'r')
file2 = open('file2.txt', 'r')
finalfile = None
for line in file1:
row1 = line.rstrip().split()
first_column1 = row1[0]
second_column1 = row1[1]
#print(str(first_two_columns1)+ " "+ str(first_three_columns1)+ "\n")
for line in file2:
row2 = line.rstrip().split()
first_column2 = row2[0]
second_column2 = row2[1]
#print(str(first_two_columns1)+ " "+ str(first_two_columns2)+ "\n")
if(float(first_column1) == float(first_column2)) and (second_column1 == second_column2):
rows = row1[0] + " " + row1[1] + " " + row1[2] + " " + row2[2] + " " + row2[3] + "\n"
final_filename = 'final_file_{}.txt'.format(row1[0])
finalfile = open(final_filename, "w")
finalfile.write(rows)
if finalfile:
finalfile.close()
file1.close()
file2.close()
輸出文件是否需要保持與任一輸入文件相同的順序?這些文件有多大? – wwii 2014-11-23 18:27:44
沒有順序並不重要,這個文件每個最多有70行:) – Mikul 2014-11-23 18:51:33
'file1'總會比'file2'長嗎? – wwii 2014-11-23 19:10:29