[问题] 1G多大资料预处理

楼主: ctr1 (【积π】)   2019-09-21 14:13:21
想请问各位版上的前辈
对比较大的纯文字档(约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()
作者: yiche (你若安好,便是晴天)   2019-09-21 17:43:00
我的习惯是换成hdf5来存
作者: TitanEric (泰坦)   2019-09-21 18:32:00
1G的话pandas还可以应付不然用spark
楼主: ctr1 (【积π】)   2019-09-21 18:42:00
很多个1.xG的档案会持续越来越多,LOG档
作者: TitanEric (泰坦)   2019-09-21 19:15:00
pandas在读档时候可以设定chunks大小
作者: ssivart   2019-09-21 21:58:00
hdf5 compress + chunk
作者: sxy67230 (charlesgg)   2019-09-22 09:13:00
hdf5储存,如果有需要随机访问的话,用mmap
作者: marc47 (思乐冰)   2019-09-22 19:49:00
作者: te87037 (NNN N3)   2019-09-26 19:55:00
如果是串流资料 可以用逐行读取的方式
作者: husky0427 (虎虎)   2019-09-27 19:07:00
看起来比较像csv 用pandas read_csv吧再看一次发现是要纯文字转csv,那就readline 或是 linecache
作者: FreedomTrail (FreedomTrail)   2019-10-07 02:24:00
pymongo 管理资料有用......吧?

Links booklink

Contact Us: admin [ a t ] ucptt.com