python 텍스트 처리 방안(단 어 를 더 듬 고 기 호 를 제거 합 니 다)
import re
import jieba.analyse
import codecs
import pandas as pd
def simplification_text(xianbingshi):
""" """
xianbingshi_simplification = []
with codecs.open(xianbingshi,'r','utf8') as f:
for line in f :
line = line.strip()
line_write = re.findall('(?<=\<b\>).*?(?=\<e\>)',line)
for line in line_write:
xianbingshi_simplification.append(line)
with codecs.open(r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\yiwoqu\code\xianbingshi_write.txt','w','utf8') as f:
for line in xianbingshi_simplification:
f.write(line + '
')
def jieba_text():
""""""
word_list = []
data = open(r"C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\xianbingshi_write.txt", encoding='utf-8').read()
seg_list = jieba.cut(data, cut_all=False) #
for i in seg_list:
word_list.append(i.strip())
data_quchong = pd.DataFrame({'a':word_list})
data_quchong.drop_duplicates(subset=['a'],keep='first',inplace=True)
word_list = data_quchong['a'].tolist()
with codecs.open('word.txt','w','utf8')as w:
for line in word_list:
w.write(line + '
')
def word_messy(word):
""" """
word_sub_list = []
with codecs.open(word,'r','utf8') as f:
for line in f:
line_sub = re.sub("^[1-9]\d*\.\d*|^[A-Za-z0-9]+$|^[0-9]*$|^(-?\d+)(\.\d+)?$|^[A-Za-z0-9]{4,40}.*?",'',line)
word_sub_list.append(line_sub)
word_sub_list.sort()
with codecs.open('word.txt','w','utf8')as w:
for line in word_sub_list:
w.write(line.strip("
") + '
')
if __name__ == '__main__':
xianbingshi = r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\yiwoqu\xianbingshi_sub_sen_all(1).txt'
# simplification_text(xianbingshi)
# word = r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\word.txt'
simplification_text(xianbingshi)
보충:python 은 말 을 더 듬 고 re 로 기 호 를 제거 합 니 다.코드 보 세 요~
#
stopwords = {}
fstop = open('stop_words.txt', 'r',encoding='utf-8',errors='ingnore')
for eachWord in fstop:
stopwords[eachWord.strip()] = eachWord.strip() #
fstop.close()
f1=open('all.txt','r',encoding='utf-8',errors='ignore')
f2=open('allutf11.txt','w',encoding='utf-8')
line=f1.readline()
while line:
line = line.strip() #
line = re.sub(r"[0-9\s+\.\!\/_,$%^*()?;;:-【】+\"\']+|[+――!,;:。?、~@#¥%……&*()]+", " ", line) #
seg_list=jieba.cut(line,cut_all=False) #
outStr=""
for word in seg_list:
if word not in stopwords:
outStr+=word
outStr+=" "
f2.write(outStr)
line=f1.readline()
f1.close()
f2.close()
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.