看板 Python 關於我們 聯絡資訊
想請問各位版上的前輩 對比較大的純文字檔(約1.5G)預處理怎麼做比較好 我的做法是先讀ftp.log_20190103 邊處理邊把資料寫進新的檔案ftp.log_new中 程式碼如下 希望各位前輩給點明燈 感激不盡 file_write_obj = open("ftp.log_new", 'w') with open("ftp.log_20190103",'r') as f: for line in f: try: line_list = list(line) line_list.insert(6,',') line_list.insert(16,',') line_list.insert(24,',') nPos=line_list.index(']') line_list.insert(nPos+2,',') str_2="".join(line_list) file_write_obj.writelines(str_2) except : pass file_write_obj.close() -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.143.98 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1569046403.A.5CE.html
yiche: 我的習慣是換成hdf5來存 09/21 17:43
TitanEric: 1G的話pandas還可以應付 09/21 18:32
TitanEric: 不然用spark 09/21 18:32
ctr1: 很多個1.xG的檔案會持續越來越多,LOG檔 09/21 18:42
TitanEric: pandas在讀檔時候可以設定chunks大小 09/21 19:15
ssivart: hdf5 compress + chunk 09/21 21:58
sxy67230: hdf5儲存,如果有需要隨機訪問的話,用mmap 09/22 09:13
marc47: ple/ 09/22 19:49
te87037: 如果是串流資料 可以用逐行讀取的方式 09/26 19:55
husky0427: 看起來比較像csv 用pandas read_csv吧 09/27 19:07
husky0427: 再看一次發現是要純文字轉csv,那就readline 或是 lin 09/27 19:09
husky0427: ecache 09/27 19:09
FreedomTrail: pymongo 管理資料有用......吧? 10/07 02:24