欢乐颂小说的文本基础的数据处理工作

闲来无事写点小程序自己乐呵乐呵~~~~奋斗

背景:

    欢乐颂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()
备注:这个小程序除了前期的工作,就夭折了,原因是由于编码问题,实在是没有找到解决办法,所以没往下做了。

猜你喜欢

转载自blog.csdn.net/u012063773/article/details/79327176