Как вместо txt использовать db python
Написал код , скажем morphanalizer. все считывается и выводится в txt файлы. Сделал функцию которая распределяет слова на части речи и под каждую создает txt файл и туда ее заносит. Как можно вместо txt использовать базы данных `
from nltk import sent_tokenize
from nltk import word_tokenize
from nltk.corpus import stopwords
from pymorphy2 import MorphAnalyzer
from pathlib import Path
from itertools import groupby
import sqlite3
'''
from nltk import download
download('punkt')
download('stopwords')
download('words')
'''
#функция графем. анализа.
def graph_analysis(dataset):
sent = sent_tokenize(dataset)
result_list=[]
stop_words=set(stopwords.words('russian'))
for index in sent:
temp=index
words=word_tokenize(temp)
without_stop_word=[word for word in words if not word in stop_words]
for index2 in without_stop_word:
result_list.append(index2)
dict_={}
for index in result_list:
if index in dict_.keys():
dict_[index]+=1
else:
dict_[index]=1
print()
kas = []
for key in dict_.items():
kas.append(key)
return kas
file = open("X:/dataset.txt", "r", encoding="utf8")
input_file2 = file.read()
input_file = ' '
for i in range(len(input_file2)):#удаления из текста стоп символов
if input_file2[i] != '\xa0' and input_file2[i] != '\ufeff':
input_file += input_file2[i]
output_gr = open("X:/graph_analysis.txt", "a+", encoding="utf8")
perem = graph_analysis(input_file)
for elm in perem:
output_gr.write(f'{elm}\n')
output_gr.close()
#разбиение текста на предложения.
text = input_file.split('.')
SW= set(stopwords.words('russian'))
d = 1 # № предложения
for elements in text:
sentences = sent_tokenize(elements)
for i in range(len(sentences)):
print("Предложение №" + " " + str(d) + ": " + str(sentences[i]))
sentword = sentences[i]
d += 1
words = word_tokenize(sentword)
withoutSW = [word for word in words if not word in SW]
print("Слова из этого предложения: ", sep="")
print(withoutSW, sep=" ")
print("\n")
#морфологический анализ pymorphy2.
file = open("X:/dataset.txt", "r", encoding="utf8")
input_file = file.read()
text1 = input_file.split(' ')
words = []
file.close()
for el in text1:
sentences1 = sent_tokenize(el)
for i in range(len(sentences1)):
sent = sentences1[i]
words += word_tokenize(sent)
morph = MorphAnalyzer()
output_mrp = open("X:/morphology_analysis.txt", "a+", encoding="utf8")
for i in range(10):
print(str(morph.parse(words[i])) + "\n")
output_mrp.write(str(morph.parse(words[i])) + "\n")
#очищение текста от лишних символов, оставляет только буквы.
delete = open("X:/graph_analysis.txt",'r',encoding="utf8")
delete_yes = open("X:/grap.txt",'w',encoding="utf8")
for i in delete:
s = delete.readline()
s1 = "".join(c for c in s if c.isalpha())
delete_yes.write(str(s1)+"\n")
delete_yes.close()
#распределиние слов по частям речи.
TempTXT = Path("X:/grap.txt")
wordsss = TempTXT.read_text(encoding="utf-8").splitlines()
print(wordsss)
items = [(str(morph.parse(w)[0].tag.POS), w) for w in wordsss]
print(items)
for g, it in groupby(sorted(items), key=lambda x: x[0]):
otufile = TempTXT.parent / f"{g}.txt"
otufile.write_text("\n".join([word for pos, word in it]), encoding="utf-8")
`