Skip to main content

Command line program that executes SQL queries and stores results in Excel files

Project description

SQL to Excel converter

https://img.shields.io/pypi/v/sqlexceller.svg https://img.shields.io/pypi/pyversions/sqlexceller.svg https://img.shields.io/:license-apache-blue.svg

Command line program that executes SQL queries and stores results in Excel files

  • Free software: Apache Software License 2.0

Features

  • Support for PostgreSQL, MySQL, Oracle, MSSQL, and SQLite

  • Accepts multiple SQL query files

  • Each SQL query will be written into a different sheet

  • Parametrized queries

  • Parametrized output filename

Installation

To install all you need to do is run:

$ pip install --upgrade sqlexceller

Usage Help

usage: sqlexceller [-h] [-v] [--output OUTPUT] [--db_connection_info URL]
                   [--param PARAMS]
                   file [file ...]

sqlexceller tool
    The tool will execute SQL queries and generate an Excel file with the
    results.

positional arguments:
  file                  SQL Query file

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  --output OUTPUT, -o OUTPUT
                        Output file
  --db_connection_info URL, -d URL
                        DB connection information as an URL in the form of
                          dialect[+driver]://username:password@host:port/database.
  --param PARAMS, -p PARAMS
                        Adds a parameter for the SQL queries. Parameter must
                        be specified as a key=value pair.  This argument can
                        be repeated as many times as necessary.

Available dialects and drivers are:
  - postgresql:
    - psycopg2
    - pg8000
  - mysql:
    - mysqldb
    - mysqlconnector
    - oursql
  - oracle:
    - cx_oracle
  - mssql:
    - pyodbc
    - pymssql
  - sqlite

There are some default parameters that will always be present:
  - NUM_QUERY
  - QUERY_NAME
  - DATE
  - DAY
  - MONTH
  - YEAR

Usage examples:
  - Execute a simple query on a SQLite DB.
      sqlexceller query.sql -d sqlite:///example.db

  - Execute multiple queries with 2 different parameters and a custom output
    file on a PostgreSQL DB:

      Contents of query1.sql:
        SELECT *
        FROM stocks
        where transaction = :transaction;

      Contents of query2.sql:
        SELECT *
        FROM stocks
        where transaction = :transaction and product = :product;

      sqlexceller query1.sql query2.sql -p transaction=BUY -p product=HAT \
          -o "report :trans (:MONTH-:DAY).xlsx"

      Generated file will be something like: "report BUY (10-16).xlsx"

Reporting an issue

If you’ve found an issue with sqlexceller here’s how you can report the problem:

  • Preferred method is filing a bug on GitHub:

    1. Go to project’s issue tracker on GitHub

    2. Search for existing issues using the search field at the top of the page

    3. File a new issue with information on the problem

    4. Thanks for helping make sqlexceller better

  • If you don’t have a GitHub account and don’t wish to create one you can just drop me an email.

History

0.1.0 (2016-10-16)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlexceller-0.1.0.tar.gz (14.5 kB view hashes)

Uploaded Source

Built Distribution

sqlexceller-0.1.0-py2.py3-none-any.whl (8.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page