作者ctr1 (【积π】)
看板Python
标题[问题]1G多大资料预处理
时间Sat Sep 21 14:13:21 2019
想请问各位版上的前辈
对比较大的纯文字档(约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://webptt.com/cn.aspx?n=bbs/Python/M.1569046403.A.5CE.html
1F:推 yiche: 我的习惯是换成hdf5来存 09/21 17:43
2F:推 TitanEric: 1G的话pandas还可以应付 09/21 18:32
3F:→ TitanEric: 不然用spark 09/21 18:32
4F:→ ctr1: 很多个1.xG的档案会持续越来越多,LOG档 09/21 18:42
5F:推 TitanEric: pandas在读档时候可以设定chunks大小 09/21 19:15
6F:推 ssivart: hdf5 compress + chunk 09/21 21:58
7F:推 sxy67230: hdf5储存,如果有需要随机访问的话,用mmap 09/22 09:13
9F:→ marc47: ple/ 09/22 19:49
10F:推 te87037: 如果是串流资料 可以用逐行读取的方式 09/26 19:55
11F:推 husky0427: 看起来比较像csv 用pandas read_csv吧 09/27 19:07
12F:→ husky0427: 再看一次发现是要纯文字转csv,那就readline 或是 lin 09/27 19:09
13F:→ husky0427: ecache 09/27 19:09
14F:推 FreedomTrail: pymongo 管理资料有用......吧? 10/07 02:24