Records: SQL for Humans
Records is a library for working with tabular data in Python, accessible via SQL. It is powered by SQLAlchemy and provides a high-level API for interacting with databases using SQL queries. Records simplifies the process of working with databases by abstracting away the complexities of SQL and providing a more user-friendly interface.
Database support includes RedShift, Postgres, MySQL, SQLite, Oracle, and MS-SQL (drivers not included).
Records offers full tablib integration, allowing you to easily convert query results to tabular data formats like CSV, JSON, and Excel βΒ and even dataframes.
Usage
Using records
is simple, if you have a database connection string like DATABASE_URL
set in your environment, you can use it like this:
import records
db = records.Database('postgres://...')
rows = db.query('select * from active_users')
# Iterate over rows
for row in rows:
print(row.username)
# Convert query results to CSV
csv = rows.export('csv')
# Convert query results to JSON
json = rows.export('json')
# Convert query results to Excel
excel = rows.export('xlsx')
# Convert query results to a pandas DataFrame
df = rows.export('df')
Make sure you have the appropriate database driver installed.
Links
- https://github.com/kennethreitz/records