knp.py 1.4 KB
import warnings
warnings.simplefilter(("ignore"))
import konlpy
from konlpy.tag import *
import openpyxl
import pandas as pd

#형태소분석라이브러리
#okt = Okt()
hannanum = Hannanum()
#filename= input("분석할 파일이름 입력:") #파일명
filefolder = input("종목폴더입력: ")
filename=input("파일이름입력:")
filepos = "C:/Users/yangj/PycharmProjects/pythonProject1/뉴스크롤링/"+filefolder+"/" + filename + ".xlsx"
kfile = openpyxl.load_workbook(filepos)#파일이름입력
sheet=kfile.worksheets[0]#sheet1에 있는 데이터 가죠오기
#print(sheet)
data=[]
for row in sheet.rows: #data에 크롤링한 뉴스 제목들 저장
    data.append(
            row[1].value
    )
#print(data)
#print(type(data[1])) #str
#newData=[]
newData2=[]
#for i in range(len(data)):
#    newData.append(okt.nouns(data[i])) #명사만 추출okt
#print(newData)
for i in range(len(data)-1):
    newData2.append(hannanum.nouns(data[i+1])) #명사만 추출hannanum가 okt보다 성능좋음
print(newData2)

newData3=[]
for i in range(len(newData2)):
    newData3.append([])
    for j in newData2[i]:
        if any(map(str.isdigit,j))==False:
            newData3[i].append(j)
print(newData3)

#print(type(newData2))#newData2 데이터 형식은 list
df= pd.DataFrame.from_records(newData3)#newData2 dataframe으로 변환
df.to_excel(filename+'_명사추출_숫자제외'+'.xlsx') #파일명의 엑셀로 변환