0.讀取檔案的處理辦法
# encoding: UTF-8
import re
fileBefPro=open('E:\\dataMining\\data.txt')
fileAftPro=open('E:\\dataMining\\after.txt','a')
iter_f=iter(fileBefPro)
for line in iter_f:#讀一行就操作一行
    #在這裡進行處理哈
    fileAftPro.write(str(line))
fileAftPro.close()
fileBefPro.close()
-------------------------------------------------------------------------------------------
1.斷句
使用的是re中的split
split中使用中文分隔符:https://segmentfault.com/q/1010000002461248
# encoding: UTF-8
import re

str=u"【紅豆杉】紅豆杉作用與功效_紅豆杉抗癌藥品-健客網"
re.split(u'【|】|-|_', str)

for i in re.split(u'【|】|-|_',  str):
    print i
-------------------------------------------------------------------------------------------
2,清洗中文標點符號程式碼:http://blog.csdn.net/mach_learn/article/details/41744487
# encoding: UTF-8
import re
temp = "想要把一大段中文文字中所有的標點符號刪除掉,然後分詞製作語料庫使用,大神們有沒有辦法呢?或者哪位大神有中文語料庫給個連結好不好?我想做新聞的文字相似度分析,提取關鍵詞的時候需要語料庫。謝謝大神們~~~~~ "
temp = temp.decode("utf8")
string = re.sub("[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、[email protected]#¥%……&*()]+".decode("utf8"), "".decode("utf8"),temp)
print string
或使用這個網址提供的3個辦法:http://www.itstrike.cn/Question/5860b8a2-6c44-44f4-8726-c5a7603d44cc.html

--------------------------------------------------------------------------------------------
3.停用詞清洗:http://blog.sina.com.cn/s/blog_bccfcaf90101ell5.html
http://blog.csdn.net/sanqima/article/details/50965439   在Python裡安裝Jieba中文分片語件
# encoding: UTF-8
import re
import jieba
#stopword=[line.strip().decode('utf-8') for line in open('E:\\dataMining\\chinese_stopword.txt').readlines()]

stopwords = {}.fromkeys([ line.rstrip() for line in open('E:\\dataMining\\chinese_stopword.txt') ])
segs = jieba.cut('聽說你超級喜歡萬眾掘金小遊戲啊啊啊,或者萬一你不喜歡我咧', cut_all=False)
final=''
for seg in segs:
    seg=seg.encode('utf-8')
    if seg not in stopwords:
         final+=seg
print final
----------------------------------------------------------------------------------------------
上面我們處理的是單個檔案哦
現在的問題:要是我們處理多個檔案咧?

綜上程式碼如下:

# encoding: UTF-8
import sys  
import re  
import codecs  
import os  
import shutil  
import jieba  
import jieba.analyse
  
#匯入自定義詞典  
#jieba  

#Read file and cut  
def read_file_cut():   
    stopwords = {}.fromkeys([ line.strip() for line in open('E:\\dataMining\\chinese_stopword.txt') ])
    #create path
    #要處理檔案的路徑
    path = "E:\\dataMining\\data\\"
    #處理完成後寫入檔案的路徑
    respath="E:\\dataMining\\result\\"
    #isdir(s)是否是一個目錄
    if os.path.isdir(respath):  #如果respath這個路徑存在
        shutil.rmtree(respath, True)  #則遞迴移除這個路徑,os.removedirs(respath) 不能刪除非空目錄
    os.makedirs(respath)  #重新建立一個respath的多級目錄
        
        
    #讀出原始檔案的個數
    total="%d" % len(os.listdir("E:\\dataMining\\data"))
    #一共有total個txt檔案
    print total  
  
    num = 1
    total=int(total)
    while num<=total:
        name = "%d" % num   
        fileName = path + str(name) + ".txt"  
        resName = respath + str(name) + ".txt"  
        source = open(fileName, 'r')  #r表示只讀檔案
        #if os.path.exists(resName):  
         #   os.remove(resName) #remove(path)表示刪除檔案 --removedirs(path)表示刪除多級目錄
        #使用codecs模組提供的方法建立指定編碼格式檔案
        #open(fname,mode,encoding,errors,buffering)
        result = codecs.open(resName, 'w', 'utf-8')  
        line = source.readline()  #讀取一行
        line = line.rstrip('\n')  #除首尾空格 
        while line!="":
            #line = unicode(line, "utf-8") #將unicode轉換成utf-8,才能寫入到檔案中
            output=''
            strr=''
            #斷句 還可以接著新增.......
            for i in re.split(u'【|】|-|_',line):
                strr=strr+i+'\t'
            #清洗中文標點符號 還可以接著新增.......
            string = re.sub("[\.\!\/_,$%^*(+\"\']+|[+——!,。?、[email protected]#¥%……&*()]+".decode("utf-8"),"",strr)
            #停用詞清洗
            segs = jieba.cut(string,cut_all=False)
            for seg in segs:
                seg=seg.encode('utf-8')
                segs=[seg for seg in segs if seg not in stopwords]
                output = ' '.join(segs)#空格拼接
            print output
            result.write(output + '\r\n')
            line = source.readline()  
        else:  
            print 'End file: ' + str(num)  
            source.close()  
            result.close()  
        num = num + 1
    else:
	    print 'End All'  
  
#Run function  
if __name__ == '__main__':  
    read_file_cut()


.