源自:快學python
今天師兄扔給我乙個txt,說:「來,小郭,你把這個文字處理一下,按照指定字元分割成多個文字。」這下可難倒我了,不過好在功夫不負有心人,幾經周折之後把它完成了。
先來看一下處理前的文字
處理後的文字
每個文字中的內容格式如下:
接下來詳細介紹一下處理過程
inputfile = input('input sourcfile:') ##輸入原始檔,如a.txt
fp = open(inputfile, 'r',encoding="utf-8")
number = #用來存放指定分割字元所在行數
linenumber = 1
keyword = input('slice keyword:') ##輸入你要切分的關鍵字
outfilename = input('outfilename:')##輸出檔名,如out.txt則寫out即可,後續輸出的檔案是out0.txt,out1.txt...
針對文字的中用到的search函式測試結果如下:
for i in range(0,len(number)-1):
start = number[i]
print(start)
end = number[i+1]
print(end)
destlines = linecache.getlines(inputfile)[start+1:end] #將行號為start+1到end-1的檔案內容擷取出來
fp_w = open(outfilename + str(i)+'.txt','w',encoding="utf-8") #將截取出的內容儲存在輸出檔案中
for key in destlines:
fp_w.write(key)
fp_w.close()
在編寫**的過程中文字編碼格式老報錯,格式費了半天勁才搞懂是怎麼回事,記得文字txt的編碼格式是utf-8才能被順利讀取。文字的切分在nlp中資料預處理模組經常會用到,希望這篇文章對你有所幫助!加油,奧里給!
Linux grep 匹配多個關鍵字
grep 命令非常常用,經常用於匹配文字字元。一般情況下,grep 命令只能匹配乙個關鍵字,怎麼實現匹配多個關鍵字呢?下面看幾種情況 1 grep 字串 這是最普通的使用方式 匹配檔案中包含 manpath 的那一行 cat manpath.config grep manpath 2 grep v ...
oracle 實現多欄位匹配乙個關鍵字查詢語句
oracle 實現多欄位匹配乙個關鍵字查詢語句 有兩種方法 經測試,10g中不能用,11g才行 第一種.select from table where 欄位名1 欄位名2 like keyvalue 第二種 1 如果是兩個字段的話 select from table where concat 欄位名...
oracle 實現多欄位匹配乙個關鍵字查詢語句
oracle 實現多欄位匹配乙個關鍵字查詢語句 有兩種方法 經測試,10g中不能用,11g才行 第一種.select from table where 欄位名1 欄位名2 like keyvalue 第二種 1 如果是兩個字段的話 select from table where concat 欄位名...