闲来无事写点小程序自己乐呵乐呵~~~~
背景:
欢乐颂2刚播出那会,每周更新的太慢,所以想起去翻看欢乐颂的小说,然后,三分钟热度,想起对欢乐颂中的数据进行处理一番,原来还假想可能会发现一些好玩的,后来因为某些原因不了了之了,但是,刚开始那份低热所学习到的东西倒是让我有着想要记录下来的念想。
# -*-coding:utf-8-*- import re import jieba import os import chardet import sys reload(sys) sys.setdefaultencoding('utf-8') def savefile(savefile,content): fp = open(savefile,'w+') fp.write(content) fp.close() # def savepic(path): def readfile(path): fp = open(path,'rb') content = fp.read() content = content.replace("\r\n", "").strip() # 删除换行和空格 fp.close() return content def subReplace(line): regex = re.compile(ur"[,。、…”“()《》?_]") return regex.sub("",line.decode("utf-8")) #以下是整个语料库的分词主程序 corpus_path = "train_corpus_small/" seg_path = "train_corpus_seg/" catelist = os.listdir(corpus_path) #获取corpus_path下的所有子目录 print catelist #获取每个目录下的所有文件 for mydir in catelist: class_path = corpus_path+mydir+'/' seg_dir = seg_path+mydir+'/' if not os.path.exists(seg_dir): os.makedirs(seg_dir) file_list = os.listdir(class_path) for file_path in file_list: full_name = class_path+file_path print full_name content = readfile(full_name).strip() print chardet.detect(content) Con= subReplace(content) print Con content_seg = jieba.cut(Con) print content_seg #将处理后的文件保存到分词后预料目录 savefile(seg_dir+file_path," ".join(content_seg)) print "中文预料分词结束" def subReplace(line): regex = re.compile(ur"[,。、…”“()《》?_]") return regex.sub("",line.decode("utf-8")) line = "“精确地说,…是市公安局在册的…所有于1983年办理出生登记的男孩的名册。”" print subReplace(line)
语料处理
import re import sys reload(sys) sys.setdefultencoding('utf-8') f = open(r'C:\Users\Zhu Wen Jing\Desktop\PythonStudy\HLS3.txt', 'r') f1 = f.readlines() # f1是一个列表类型 lines1 = len(f1) pat =r'\n' for i in range(len(f1)): f1[i] = re.sub(pat, '',f1[i]) sep = '' fline = sep.join(f1) #print fline f2= fline.replace('第一章','第一章\n') f2 = fline.split('第一章') #print type(fline) #print '3————————————————————————' del f2[0] #print f2 sep2 = '\n' f3 = sep2.join(f2) #print len(f3) f.close() fil = open(r'C:\Users\Zhu Wen Jing\Desktop\mytest1.txt','w') for i in f3: fil.write(i) fil.close() f = open(r'C:\Users\Zhu Wen Jing\Desktop\mytest1.txt','r+') fil1 = f.readlines() a = [] for i in range(len(fil1)): a.append('【'+str(2)+'】'+fil1[i]+'\n') #strr=str(i+1).center(2) #a.append('['+strr+']'+fil1[i]) f.close() f = open(r'C:\Users\Zhu Wen Jing\Desktop\PythonStudy\result_HLS3.txt','w') for i in a: f.write(i) f.close()备注:这个小程序除了前期的工作,就夭折了,原因是由于编码问题,实在是没有找到解决办法,所以没往下做了。