执行sql查询并将结果存储在excel文件中的命令行程序

sqlexceller的Python项目详细描述


SQL到Excel转换器

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

执行SQL查询并将结果存储在Excel文件中的命令行程序

  • 免费软件:apache软件许可证2.0

功能

  • 支持PostgreSQL、MySQL、Oracle、MSSQL和SQLite
  • 接受多个SQL查询文件
  • 每个SQL查询都将写入不同的工作表中
  • 参数化查询
  • 参数化输出文件名

安装

要安装,只需运行:

$ pip install --upgrade sqlexceller

使用帮助

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" \
          -d postgresql://user:password@localhost/mydatabase

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

报告问题

如果您发现了sqlexceller的问题,下面介绍如何报告该问题:

  • 首选方法是在github上提交一个bug:
    1. 转到项目的issue tracker on GitHub
    2. 使用页面顶部的搜索字段< /LI>搜索现有问题
    3. 用有关问题的信息提交新问题
    4. 感谢您帮助改进sqlexceller
  • 如果您没有github帐户,并且不希望创建一个帐户,您可以 给我发邮件。

历史记录

0.1.1(2018-03-17)

  • 修正1:查询结果集为空时出现异常

0.1.0(2016-10-16)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的开源字典组件   即使在成功执行删除查询之后,java更新的列表也不会显示在jsp页面中   java Apache:无法启动上下文路径/网站上的失败应用程序   java验证CSV中的特定列   对于具有专用内存的java应用程序,最小堆大小低于最大堆大小有意义吗?   java将数组中的值转换为多维数组   java在给定程序中,垃圾收集器在对象被取消引用之前正在运行。。。使用jre 7(32位)   java在运行时动态刷新文件夹   eclipse如何解决“java.net.BindException:地址已在使用:JVM_Bind”错误?   Java数组与数组   每次任务完成任务时,Java多线程都会安排任务   java部分编译时使用maven编织第三方jar   java Dokku单一回购中的多个应用程序   用apachevelocity生成javac/C++语言文件   java如何使用spring应用程序上下文中的属性文件实例化列表   java访问智能卡文件结构   具有GlobalMethodSecurity的java自定义UserDetailService循环引用   java如何集成Spring和JSF