不要急着把数据拷到硬盘(如果数据量小,拷一份原始的数据还是有必要的),先把数据进行清理,然后逐行提取字段的值,将提取出的值用逗号分隔组成新的一行再存储。需要使用的时候,只需要用逗号分隔string,然后读取所需字段对应的下标即可!
import os
import re
dir = "/data/scr/"
files = os.listdir(dir1)
dst_dir = "/data/dst/"
# [keyword:value]
vregex = re.compile(r'\[.*?:(.*?)\]')
def clear_extract(src_dir, file):
g = open(dst_dir+file, 'w')
f = open(src_dir+file, 'r')
lines = f.readlines()
f.close()
for line in lines:
#清理...
values = vregex.findall(line)
g.write(','.join(values)+'\n')
g.close()
for file in files:
clear_extract(dir, file)