У меня возникли проблемы с загрузкой данных с помощью sqlite3 в блокноте Jupyter со следующим сообщением об ошибке: «нетPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 У меня возникли проблемы с загрузкой данных с помощью sqlite3 в блокноте Jupyter со следующим сообщением об ошибке: «нет

Сообщение Гость »


Я провожу анализ данных с помощью курса Python и пытаюсь загрузить базу данных salika.db для выполнения некоторого анализа. salika.db сохраняется в том же месте, что и записная книжка.
Изображение

Код: Выделить всё

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sqlite3 as sql

%matplotlib inline

conn = sql.connect('sakila.db')

df = pd.read_sql('''
SELECT
rental.rental_id, rental.rental_date, rental.return_date,
customer.last_name AS customer_lastname,
store.store_id,
city.city AS rental_store_city,
film.title AS film_title, film.rental_duration AS film_rental_duration,
film.rental_rate AS film_rental_rate, film.replacement_cost AS film_replacement_cost,
film.rating AS film_rating
FROM rental
INNER JOIN customer ON rental.customer_id == customer.customer_id
INNER JOIN inventory ON rental.inventory_id == inventory.inventory_id
INNER JOIN store ON inventory.store_id == store.store_id
INNER JOIN address ON store.address_id == address.address_id
INNER JOIN city ON address.city_id == city.city_id
INNER JOIN film ON inventory.film_id == film.film_id
;
''', conn, index_col='rental_id', parse_dates=['rental_date', 'return_date'])
I get the following error message:

Код: Выделить всё

---------------------------------------------------------------------------
OperationalError                          Traceback (most recent call last)
File /opt/conda/envs/anaconda-panel-2023.05-py310/lib/python3.11/site-packages/pandas/io/sql.py:2202, in SQLiteDatabase.execute(self, sql, params)
2201 try:
-> 2202     cur.execute(sql, *args)
2203     return cur

OperationalError: no such table: rental

The above exception was the direct cause of the following exception:

DatabaseError                             Traceback (most recent call last)
Cell In[4], line 5
1 # Loading the data
3 conn = sql.connect('sakila.db')
----> 5 df = pd.read_sql('''
6     SELECT
7         rental.rental_id, rental.rental_date, rental.return_date,
8         customer.last_name AS customer_lastname,
9         store.store_id,
10         city.city AS rental_store_city,
11         film.title AS film_title, film.rental_duration AS film_rental_duration,
12         film.rental_rate AS film_rental_rate, film.replacement_cost AS film_replacement_cost,
13         film.rating AS film_rating
14     FROM rental
15     INNER JOIN customer ON rental.customer_id == customer.customer_id
16     INNER JOIN inventory ON rental.inventory_id == inventory.inventory_id
17     INNER JOIN store ON inventory.store_id == store.store_id
18     INNER JOIN address ON store.address_id == address.address_id
19     INNER JOIN city ON address.city_id == city.city_id
20     INNER JOIN film ON inventory.film_id == film.film_id
21     ;
22 ''', conn, index_col='rental_id', parse_dates=['rental_date', 'return_date'])

File /opt/conda/envs/anaconda-panel-2023.05-py310/lib/python3.11/site-packages/pandas/io/sql.py:635, in read_sql(sql, con, index_col, coerce_float, params, parse_dates, columns, chunksize, dtype_backend, dtype)
633 with pandasSQL_builder(con) as pandas_sql:
634     if isinstance(pandas_sql, SQLiteDatabase):
--> 635         return pandas_sql.read_query(
636             sql,
637             index_col=index_col,
638             params=params,
639             coerce_float=coerce_float,
640             parse_dates=parse_dates,
641             chunksize=chunksize,
642             dtype_backend=dtype_backend,  # type: ignore[arg-type]
643             dtype=dtype,
644         )
646     try:
647         _is_table_name = pandas_sql.has_table(sql)

File /opt/conda/envs/anaconda-panel-2023.05-py310/lib/python3.11/site-packages/pandas/io/sql.py:2266, in SQLiteDatabase.read_query(self, sql, index_col, coerce_float, parse_dates, params, chunksize, dtype, dtype_backend)
2255 def read_query(
2256     self,
2257     sql,
(...)
2264     dtype_backend: DtypeBackend | Literal["numpy"] = "numpy",
2265 ) -> DataFrame | Iterator[DataFrame]:
->  2266 курсор = self.execute(sql, params)
2267 столбцы = [col_desc[0] для col_desc в курсоре.description]
2269, если размер фрагмента не равен None:

Файл /opt/conda/envs/anaconda-panel-2023.05-py310/lib/python3.11/site-packages/pandas/io/sql.py:2214, в SQLiteDatabase.execute(self, sql, params)
2211 поднять ex из внутреннего_exc
2213 ex = DatabaseError(f"Ошибка выполнения sql '{sql}': {exc}")
-> 2214 поднять ex из exc

Ошибка базы данных: не удалось выполнить sql '
SELECT
rent.rental_id, rent.rental_date, rent.return_date,
customer.last_name AS customer_lastname,
store.store_id,
city.city AS rent_store_city,
Film.title AS Film_title, Film.rental_duration AS Film_rental_duration,
Film.rental_rate AS Film_rental_rate, Film.Replacement_cost AS Film_replacement_cost,
Film.rating AS Film_rating
ИЗ аренды
ВНУТРЕННЕЕ СОЕДИНЕНИЕ с клиентом на rent.customer_id == customer.customer_id
ВНУТРЕННЕЕ СОЕДИНЕНИЕ с инвентарем ON rent.inventory_id == Inventory.inventory_id
ВНУТРЕННЕЕ СОЕДИНЕНИЕ с магазином ON Inventory.store_id == магазином. store_id
ВНУТРЕННЕЕ СОЕДИНЕНИЕ адрес ON store.address_id == адрес.address_id
ВНУТРЕННЕЕ СОЕДИНЕНИЕ city ON адрес.city_id == city.city_id
ВНУТРЕННЕЕ СОЕДИНЕНИЕ фильм НА инвентарь.film_id == Film.film_id< br /> ;
': такой таблицы нет: rent
Я ожидал, что она создаст фрейм данных из данных, указанных в моем коде.

Источник: https://stackoverflow.com/questions/781 ... h-the-foll
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Запустите несколько команд в терминале Linux и подождите перед следующим, но остановитесь перед следующим
    Anonymous » » в форуме Linux
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous
  • Python в блокноте Jupyter: при импорте CPI появляется сообщение об ошибке
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • MAUI Android — System.DllNotFoundException: sqlite3 в Mono.Data.Sqlite.SQLite3.Open
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • MAUI Android — System.DllNotFoundException: sqlite3 в Mono.Data.Sqlite.SQLite3.Open
    Anonymous » » в форуме Android
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • MAUI Android — System.DllNotFoundException: sqlite3 в Mono.Data.Sqlite.SQLite3.Open
    Anonymous » » в форуме C#
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»