mirror of
https://github.com/kennethreitz/kennethreitz.org.git
synced 2026-06-05 22:50:17 +00:00
41 lines
1.3 KiB
Markdown
41 lines
1.3 KiB
Markdown
# Records: SQL for Humans
|
|
|
|
Records is a library for working with tabular data in Python, accessible via SQL. It is powered by [SQLAlchemy](https://www.sqlalchemy.org/) 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](/software/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:
|
|
|
|
```python
|
|
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
|