Чтение файла sql python

pandas.read_sql

Чтение SQL-запроса или таблицы базы данных в DataFrame.

Эта функция является удобной оболочкой для read_sql_table и read_sql_query (для обратной совместимости). Он будет делегировать конкретную функцию в зависимости от предоставленного ввода. Запрос SQL будет перенаправлен на read_sql_query , а имя таблицы базы данных будет направлено на read_sql_table . Обратите внимание, что делегированная функция может иметь более конкретные примечания об их функциях, не перечисленных здесь.

Parameters sql : str или SQLAlchemy Selectable (выберите или текстовый объект)

SQL-запрос,который должен быть выполнен,или имя таблицы.

con : соединение SQLAlchemy, подключаемое, str или sqlite3

Использование SQLAlchemy позволяет использовать любую БД, поддерживаемую этой библиотекой. Если объект DBAPI2, поддерживается только sqlite3. Пользователь несет ответственность за удаление ядра и закрытие соединения для подключаемого SQLAlchemy; str закрываются автоматически. Смотрите здесь .

index_col : str или список str, необязательно, по умолчанию: None

Столбец(ы)для установки в качестве индекса(MultiIndex).

coerce_float : bool, по умолчанию True

Попытки преобразовать значения нестрочных,нецифровых объектов (например,десятичный.десятичный)в плавающие точки,полезные для SQL-результатных наборов.

params : list, tuple или dict, необязательно, по умолчанию: None

Список параметров для передачи в метод execute.Синтаксис,используемый для передачи параметров,зависит от драйвера базы данных.Проверьте в документации к драйверу базы данных,какой из пяти стилей синтаксиса,описанных в paramstyle в PEP 249,поддерживается.Например,для psycopg2 используется %(name)s,поэтому используйте params=.

  • Список названий колонок для разбора в качестве дат.
  • Dict of где строка формата является strftime-совместимой в случае синтаксического анализа строки или является одним из (D, s, ns, ms, us) в случае синтаксического анализа целочисленных временных меток.
  • Dict of , где arg dict соответствует аргументам ключевого слова pandas.to_datetime() Особенно полезно для баз данных без встроенной поддержки Datetime, таких как SQLite.

Список имен столбцов для выбора из таблицы SQL (используется только при чтении таблицы).

chunksize : int, по умолчанию None

Если указано,возвращает итератор,в котором chunksize это количество строк,включаемых в каждый чанк.

Returns DataFrame или Iterator[DataFrame]

Чтение таблицы базы данных SQL в DataFrame.

Чтение SQL-запроса в DataFrame.

Считывание данных из SQL с помощью SQL-запроса или имени вкладки SQL.При использовании базы данных SQLite принимаются только SQL-запросы,предоставление только имени вкладки SQL приведет к ошибке.

>>> from sqlite3 import connect >>> conn = connect(':memory:') >>> df = pd.DataFrame(data=[[0, '10/11/12'], [1, '12/11/10']], . columns=['int_column', 'date_column']) >>> df.to_sql('test_data', conn) 2
>>> pd.read_sql('SELECT int_column, date_column FROM test_data', conn) int_column date_column 0 0 10/11/12 1 1 12/11/10
>>> pd.read_sql('test_data', 'postgres:///db_name') 

Применить синтаксический анализ даты к столбцам с parse_dates аргумента parse_dates

>>> pd.read_sql('SELECT int_column, date_column FROM test_data', . conn, . parse_dates=["date_column"]) int_column date_column 0 0 2012-10-11 1 1 2010-12-11

Аргумент parse_dates вызывает pd.to_datetime для предоставленных столбцов. Пользовательские значения аргументов для применения pd.to_datetime к столбцу указываются в формате словаря: 1. Игнорировать ошибки при анализе значений «date_column».

>>> pd.read_sql('SELECT int_column, date_column FROM test_data', . conn, . parse_dates="date_column": "errors": "ignore">>) int_column date_column 0 0 2012-10-11 1 1 2010-12-11
>>> pd.read_sql('SELECT int_column, date_column FROM test_data', . conn, . parse_dates="date_column": "dayfirst": True>>) int_column date_column 0 0 2012-11-10 1 1 2010-11-12
>>> pd.read_sql('SELECT int_column, date_column FROM test_data', . conn, . parse_dates="date_column": "format": "%d/%m/%y">>) int_column date_column 0 0 2012-11-10 1 1 2010-11-12
pandas 1.5

Чтение файлов SAS,хранящихся либо в формате XPORT SAS7BDAT Строка,объект пути (реализующий os.PathLike[str]),либо файлоподобная двоичная функция read().

Источник

pandas.read_sql#

pandas. read_sql ( sql , con , index_col = None , coerce_float = True , params = None , parse_dates = None , columns = None , chunksize = None , dtype_backend = _NoDefault.no_default , dtype = None ) [source] #

Read SQL query or database table into a DataFrame.

This function is a convenience wrapper around read_sql_table and read_sql_query (for backward compatibility). It will delegate to the specific function depending on the provided input. A SQL query will be routed to read_sql_query , while a database table name will be routed to read_sql_table . Note that the delegated function might have more specific notes about their functionality not listed here.

Parameters sql str or SQLAlchemy Selectable (select or text object)

SQL query to be executed or a table name.

con SQLAlchemy connectable, str, or sqlite3 connection

Using SQLAlchemy makes it possible to use any DB supported by that library. If a DBAPI2 object, only sqlite3 is supported. The user is responsible for engine disposal and connection closure for the SQLAlchemy connectable; str connections are closed automatically. See here.

index_col str or list of str, optional, default: None

Column(s) to set as index(MultiIndex).

coerce_float bool, default True

Attempts to convert values of non-string, non-numeric objects (like decimal.Decimal) to floating point, useful for SQL result sets.

params list, tuple or dict, optional, default: None

List of parameters to pass to execute method. The syntax used to pass parameters is database driver dependent. Check your database driver documentation for which of the five syntax styles, described in PEP 249’s paramstyle, is supported. Eg. for psycopg2, uses %(name)s so use params=.

  • List of column names to parse as dates.
  • Dict of where format string is strftime compatible in case of parsing string times, or is one of (D, s, ns, ms, us) in case of parsing integer timestamps.
  • Dict of , where the arg dict corresponds to the keyword arguments of pandas.to_datetime() Especially useful with databases without native Datetime support, such as SQLite.

List of column names to select from SQL table (only used when reading a table).

chunksize int, default None

If specified, return an iterator where chunksize is the number of rows to include in each chunk.

dtype_backend , defaults to NumPy backed DataFrames

Which dtype_backend to use, e.g. whether a DataFrame should have NumPy arrays, nullable dtypes are used for all dtypes that have a nullable implementation when “numpy_nullable” is set, pyarrow is used for all dtypes if “pyarrow” is set.

The dtype_backends are still experimential.

Data type for data or columns. E.g. np.float64 or . The argument is ignored if a table is passed instead of a query.

Read SQL database table into a DataFrame.

Read SQL query into a DataFrame.

Read data from SQL via either a SQL query or a SQL tablename. When using a SQLite database only SQL queries are accepted, providing only the SQL tablename will result in an error.

>>> from sqlite3 import connect >>> conn = connect(':memory:') >>> df = pd.DataFrame(data=[[0, '10/11/12'], [1, '12/11/10']], . columns=['int_column', 'date_column']) >>> df.to_sql('test_data', conn) 2 
>>> pd.read_sql('SELECT int_column, date_column FROM test_data', conn) int_column date_column 0 0 10/11/12 1 1 12/11/10 
>>> pd.read_sql('test_data', 'postgres:///db_name') 

Apply date parsing to columns through the parse_dates argument The parse_dates argument calls pd.to_datetime on the provided columns. Custom argument values for applying pd.to_datetime on a column are specified via a dictionary format:

>>> pd.read_sql('SELECT int_column, date_column FROM test_data', . conn, . parse_dates="date_column": "format": "%d/%m/%y">>) int_column date_column 0 0 2012-11-10 1 1 2010-11-12 

Источник

Анализ данных с помощью pandas. Часть 8: работа с данными из базы данных SQL

Python 3 логотип

До этого момента, мы получали данные только из csv файлов. Это довольно распространённый способ сохранения данных, но далеко не единственный! Pandas может работать с данными из HTML, JSON, SQL, Excel (. ), HDF5, Stata, и некоторых других вещей. В этой части мы поговорим о работе с данными из баз данных SQL.

Загрузить данные из SQL базы можно с помощью функции pd.read_sql . read_sql автоматически преобразует столбцы SQL в столбцы DataFrame.

read_sql принимает 2 аргумента: запрос SELECT , и connection. Это здорово, так как это означает, что можно читать из любого вида базы данных — неважно, MySQL, SQLite, PostgreSQL, или другая.

В этом примере мы читаем из базы SQLite, но другие читаются точно также. Файл, с которым мы будем работать.

 iddate_timetemp012012-01-01 00:00:00-1.8122012-01-01 01:00:00-1.8232012-01-01 02:00:00-1.8

read_sql не устанавливает первичный ключ ( id ) в качестве индекса. Можно это сделать вручную, добавив аргумент index_col к read_sql .

Если вы много использовали read_csv , вы могли заметить, что у него также есть аргумент index_col . И ведёт он себя точно так же.

 date_timetempid 12012-01-01 00:00:00-1.822012-01-01 01:00:00-1.832012-01-01 02:00:00-1.8

Если вы хотите, чтобы dataframe был индексирован несколькими столбцами, в index_col можно указать их список:

 tempiddate_time 12012-01-01 00:00:00-1.822012-01-01 01:00:00-1.832012-01-01 02:00:00-1.8

Запись в базу

Запись производится с помощью метода to_sql (по аналогии с CSV):

Теперь мы можем загрузить записанные данные:

 indexDate/TimeTemp (C)Dew Point Temp (C)Rel Hum (%)Wind Spd (km/h)Visibility (km)Stn Press (kPa)Weather002012-01-01 00:00:00-1.8-3.98648.0101.24Fog112012-01-01 01:00:00-1.8-3.78748.0101.24Fog222012-01-01 02:00:00-1.8-3.48974.0101.26Freezing Drizzle,Fog

Главное преимущество хранения данных в базе в том, что можно напрямую делать SQL запросы. Это особенно хорошо, если SQL для вас более родной язык. Например, можно отсортировать по колонке ‘Weather’ с помощью лишь SQL:

 indexDate/TimeTemp (C)Dew Point Temp (C)Rel Hum (%)Wind Spd (km/h)Visibility (km)Stn Press (kPa)Weather0672012-01-03 19:00:00-16.9-24.8502425.0101.74Clear11142012-01-05 18:00:00-7.1-14.4561125.0100.71Clear21152012-01-05 19:00:00-9.2-15.461725.0100.80Clear

Другие базы данных

Чтобы это работало, у вас на машине должна быть установлена соответствующая база данных

Источник

Читайте также:  Javascript ввод данных пользователем
Оцените статью