Форум сайта python.su
Скажите пожалуйста, как просто прочитать весь файл, когда неизвестны названия и количество его таблиц?
Конструкции типа
print(conn.execute("SELECT * FROM *").fetchall())
Офлайн
SchlangeЗачет! Мне всегда SQL казался убогим.
SELECT * FROM *
Офлайн
Офлайн
SELECT * FROM sqlite_master
for table in tables: print(conn.execute('SELECT * FROM ' + table).fetchall())
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Офлайн
Спасибо за ответы! Буду пробовать.
UPD: Я не знаю, как правильно вырезать непонятные sqlite квадратные ковычки:
sqlite3.OperationalError: unrecognized token: “[”
#!/usr/bin/python3 # coding: utf-8 import sqlite3 dbname = 'places.sqlite' conn = sqlite3.connect(dbname) # Подключение к dbname cursor = conn.cursor() # Создание курсора. Если ниже используется # .execute то можно не создавать, # сам создастся. tables = str(conn.execute('SELECT * FROM sqlite_master').fetchall()) print(tables) for table in tables: print(conn.execute('SELECT * FROM ' + table).fetchall()) conn.close() # закрытие файла базы. Внимание, без commit() # база закроется без применения изменений!
Отредактировано Schlange (Авг. 13, 2018 06:37:55)
Офлайн
Пробуйте так:
import sqlite3 dbname = 'places.sqlite' conn = sqlite3.connect(dbname) # Подключение к dbname cursor = conn.cursor() #Создание курсора. cursor.execute('SELECT * FROM sqlite_master') for table in cursor.fetchall(): print(table[1]) conn.close() #закрытие файла базы. Внимание, без commit() база закроется без применения изменений!
Отредактировано rami (Авг. 13, 2018 11:51:17)
Офлайн
Спасибо! Это сработало. Выходит вариант DamMercul был неверный. tables дополнительно создавать - лишняя сущность и проблемы, которые я словил.
Офлайн
SchlangeЛемао, с чего это так?
Спасибо! Это сработало. Выходит вариант DamMercul был неверный. tables дополнительно создавать - лишняя сущность и проблемы, которые я словил.
[a[2] for a in cursor.fetchall()]
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Отредактировано DamMercul (Авг. 14, 2018 14:40:04)
Офлайн