我目前正在研究Dstl衛星kaggle挑戰。我需要創建一個採用csv格式的提交文件。在CSV每一行包含:在循環中將數據寫入CSV Python
Image ID, polygon class (1-10), Polygons
多邊形是一個很長的條目有開始和結束,並開始等
的多邊形在時間的算法創建的,一類,對一次一張圖片(429張圖片,每個10張圖片)。
現在我的問題與計算時間和最佳實踐有關:如何最好地將我創建的多邊形的數據寫入csv?我在開始時打開csv,然後將每行寫入文件,因爲我遍歷類和圖像?
或者我應該將數據保存在列表或字典中,然後將整個事件一次寫入csv文件?
事情是,我不知道寫入csv文件有多快。此外,由於該算法已經相當耗費計算性,因此我想節省我的電腦將所有數據保存在RAM中的麻煩。
我想即時將數據寫入csv會導致使用更少的RAM,對吧?
所以你說磁盤操作很慢。這到底是什麼意思呢?當我創建數據時,當我將每行寫入csv時,是否會減慢我的程序速度?因此,如果我將整個列表寫入一個比編寫一行更快的csv文件,然後再計算一個新的數據行?所以這意味着,計算機會在下一個動作開始之前等待一個動作完成,對吧?但是,那麼,如果我等待整個數據的積累,是什麼讓這個過程更快?無論如何,必須將相同數量的行寫入csv,爲什麼如果逐行執行它,速度會更慢?