Форум программистов, компьютерный форум, киберфорум
Python: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 17.02.2022
Сообщений: 4

sqlite3 и данные из текстовых файлов

25.04.2022, 10:43. Показов 887. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Необходима помощь с базами данных, знакомство с ними не задалось, а задание делать надо.
Существуют три файла с определенной информацией, которую надо занести в базу данных. Информация начинается с определенных повторяющихся слов, которые надо удалить.
Вроде сами слова то нашлись, но вот записываться в бд не хотят.
Ошибка: "Возникло исключение: OperationalError
table package has 2 columns but 3 values were supplied"

Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import sqlite3
 
base = sqlite3.connect('new.db')
cur = base.cursor()
print("База данных создана и успешно подключена")
 
base.execute('CREATE TABLE IF NOT EXISTS package(Package, Maintainer, Description1)')
base.commit()
 
pac = []
w = ('Package: ')
with open('install_contrib.txt', 'r') as fin, open('install_main.txt', 'r') as fin2, open('install_non-free.txt', 'r') as fin3:
    for sw1, sw2, ws3 in zip(fin, fin2, fin3):
        if sw1.find(w) > -1:
            pac.append([str(x) for x in sw1.split()])
    for sw2 in fin2.readlines():
        if sw2.find(w) > -1:
            pac.append([str(x) for x in sw2.split()])
    for sw3 in fin3.readlines():
        if sw3.find(w) > -1:
            pac.append([str(x) for x in sw3.split()])
main = []
q = ('Package: ')
with open('install_contrib.txt', 'r') as fin, open('install_main.txt', 'r') as fin2, open('install_non-free.txt', 'r') as fin3:
    for sq1, sq2, sq3 in zip(fin, fin2, fin3):
        if sq1.find(q) > -1:
            main.append([str(x) for x in sq1.split()])
    for sq2 in fin2.readlines():
        if sq2.find(q) > -1:
            main.append([str(x) for x in sq2.split()])
    for sq3 in fin3.readlines():
        if sq3.find(q) > -1:
            main.append([str(x) for x in sq3.split()])
desc = []
a = ('Description: ')
with open('install_contrib.txt', 'r') as fin, open('install_main.txt', 'r') as fin2, open('install_non-free.txt', 'r') as fin3:
    for sa1, sa2, sa3 in zip(fin, fin2, fin3):
        if sa1.find(a) > -1:
            desc.append([str(x) for x in sa1.split()])
    for sa2 in fin2.readlines():
        if sa2.find(a) > -1:
            desc.append([str(x) for x in sa2.split()])
    for sa3 in fin3.readlines():
        if sa3.find(a) > -1:
            desc.append([str(x) for x in sa3.split()])
#ошибка возникает тут
cur.executemany("INSERT INTO package VALUES(?,?,?);", (pac, main, desc))
cur.commit()
 
base.close()
print("Соединение с базой данных закрыто")

Может что не так с самим списком?
Вопрос может быть несколько глупым, но что со sqlite, что с питоном знакомы недавно)
Кликните здесь для просмотра всего текста
Файл-пример того, как записана вся информация в трех файлах.
Вложения
Тип файла: txt install_contrib.txt (5.3 Кб, 0 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.04.2022, 10:43
Ответы с готовыми решениями:

Как считать данные из нескольких текстовых файлов?
Есть некая папка, в ней может находится каждый раз РАЗНОЕ количество текстовых файлов. Нужно, чтобы программа открывала данную папку...

Записать исходные данные на диск в виде текстовых и двоичных файлов
Имеются сведения по студентам: студент, балл в расчете на одного человека за каждый год из последних 5-ти лет. Найти для каждого студента...

Записать в два списка указателей на структуры данные из двух текстовых файлов
Уважаемые форумчане, прошу огромной помощи у Вас, кто поможет решить эти задачи, отблагодарю!!! (Зачетная задача по базовой...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2022, 10:43
Помогаю со студенческими работами здесь

Запись текстовых данных из массива в БД SQLite3
Всем привет! Проблема заключается вот в чем: в массиве находятся текстовые записи разной длинны (от 15 до 6000 знаков). При...

Редактировать данные в sqlite3
Добрый день помогите решить проблему редактирования данных в sqlite3. Опишу проблему: Вывожу данные из sql в приложение на python...

Sqlite3 не добавляются данные в таблицу
Программа выполняется, но в переменной results ничего - . Не могу найти ошибку. hash1 = 'a' con = sqlite3.connect('bd.db') cur =...

Не обновляются данные в таблице SQLite3
def SetDialog(chat_id): c.execute('UPDATE managers SET status == ? WHERE id == ?', (1, chat_id,)) conn.commit() ...

Бот не добавляет в бд данные (sqlite3)
есть код def age(message): try: age_ = message.text menti.append(age_) msg =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru