Здравствуйте и спасибо за то, что нажали на этот вопрос. Я хочу вставить в базу данных содержимое текстового файла с кодировкой utf-8. Продолжая вставлять текстовое содержимое в БД, он говорит мне, что это бинарные данные по какой-то причине. Когда я создал БД в sqlite3, я указал, что описание (рассматриваемый столбец) должно быть ТЕКСТОМ, поэтому я не знаю, в чем может быть проблема ...
Код следующий [он содержит только часть, куда я вставляю в БД]:
(краткое описание кода: он просматривает папку со многими текстовыми файлами, а затем собирает некоторые переменные из имени и содержимого текста, а затем, если текст не был добавлен в БД, добавьте новую строку, содержащую отсутствуют переменные, соответствующие текстовому файлу)
def put_inside_db():
counter = 0
for item in list_txt:
item_components = item.split("-")
item_year = item_components[-1].split(".")
unique_key = str(item_components[0]) + str(item_year[0])
cik = item_components[0]
comp_name = item_components[1]
year = item_year[0]
file_path = path_to_10k + item
file = open(file_path, "r+", encoding="utf-8")
description = file.read()
description = str(description)
print(description)
file.close()
if unique_key not in keys_db:
c.execute("INSERT INTO finaldata (cik, comp_name, year, unique_key, description) "
"VALUES(?,?,?,?,?)", (cik, comp_name, year, unique_key, description))
print("This key is not inside: " + unique_key)
counter += 1
else:
"do nothing"
# print("This key is inside: " + unique_key)
if counter % 50 == 0:
conn.commit()
conn.commit()
Я даже напечатал на консоли внутренние части текстовых файлов, и они являются строками, поэтому я не знаю, почему эта проблема присутствует. Ниже вы можете увидеть сообщение, которое отображает БД, когда я нажимаю на значение из столбца «описание»

UPDATE
Я пытался реализовать решение из другого вопроса, на который был дан ответ Форсирование типа данных (BLOB или TEXT) при вставке значений в таблицу SQLite . Это значит, что я сделал следующее:
1) Попытка исправить значения в базе данных, переписав их согласно решению номер один, но это не решило мою проблему
2) Другое предложение из другого поста состояло в том, что я должен убедиться, что я вставляю текстовые значения в БД. Насколько мне известно, значения, которые я пытаюсь вставить в БД, являются строками. Чтобы убедиться, что я даже заставил извлеченное описание из текстовых файлов быть строкой. Однако это не решает мою проблему ..
Поэтому, на мой взгляд, я считаю, что мой вопрос не является дубликатом, поскольку я вставляю строки в столбец со сродством к тексту и сохраняет его в двоичном виде. Если я ошибаюсь, может кто-нибудь объяснить более подробно, что именно происходит и почему я получаю этот результат. Я использовал подобный код для других вставок базы данных, но я никогда не получал такую ошибку ...
Спасибо!