Как вместо 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")

`


Ответы (0 шт):