- 打開並閱讀一號文件
- 打開並閱讀第二個選項
- 複製第二個文件,第一個文件與頭
- 值寫入新值到第一檔
即第1個文件作爲讀寫模式打開,第2個文件作爲讀模式。 例如,
1st_file
CHINESE JAPANESE KOREAN
CA 0.1 0.1 1.1
WA 0.2 -0.2 1.3
OR -0.1 1.1 0.1
UT 0.3 1.4 -0.9
2nd_file(無標頭)
1.1
1.3
-0.1
1.3
重新1st_file
CHINESE JAPANESE KOREAN VIETNAMESE TOTAL
CA 0.1 0.1 1.1 1.1 2.4
WA 0.2 -0.2 1.3 1.3 2.6
OR -0.1 1.1 0.1 -0.1 1.0
UT 0.3 1.4 -0.9 1.3 2.1
這裏,2nd_file包含有關越南列中的值。
所以,首先要把header,1)VIETNAMESE和2)TOTAL寫到1st_file的頭部。
然後,將2nd_file的值寫入1st_column的相應VIETNAMESE列。
最後,計算1st_column的值並將其寫入(例如TOTAL)到1st_column。
我試圖用r +模式打開第一個文件,但它沒有很好的工作。僅供參考,真正的1st_files擁有大約1億行和20列。
怎麼辦?
您需要重寫第一個文件,從頭開始。 –
只是一個想法 - 使用SQLite代替文本文件可能更好。 – iCodez
如果您正在處理內存中的所有內容,請在讀取第一個文件後刪除第一個文件並打開一個具有相同名稱的新文件。如果您使用的是管道,那麼寫入第三個文件,一旦完成,它將替換第一個文件。 – Bitwise