用于处理画布数据的python实用程序

pycanvasdata的Python项目详细描述


https://travis-ci.org/kajigga/py_canvas_data.svg

完整文档

这个python模块的设计是为了方便访问画布数据文件。

目前,此模块使您能够:

  • Convert downloaded Canvas Data files to CSV files with headers
  • export SQL table creation statements
  • list files for a table
  • download all files or files for a specific table
  • view the Canvas Data schema (fields, field types, etc)
  • connect to a database (uses sqlalchemy) to create tables, import data, run SQL queries

模块使用

此模块可以在其他脚本和软件中以编程方式使用。一个 下面是创建画布数据对象的示例。:

from canvas_data_utils.canvas_data_auth import CanvasData

canvas_data_object = CanvasData(
    API_KEY=YOUR_API_KEY ,
    API_SECRET=YOUR_API_SECRET,
    base_folder = YOUR_BASE_DIR,
    data_folder = YOUR_DATA_DIR)

一旦创建了该对象,就可以…

生成mysql表创建语句

mysql_table_creation_statement = canvas_data_object.table_creation_statement('mysql')

生成sqlite表创建语句

sqlite_table_creation_statement = canvas_data_object.table_creation_statement('sqlite')

生成Postgres表创建语句

postgres_table_creation_statement = canvas_data_object.table_creation_statement('postgres')

在由连接字符串给定的数据库中创建表

canvas_data_object.create_tables('sqlite:///{}'.format(db_filename))

获取当前架构(作为json)

schema = canvas_data_object.fetch_schema()

获取表中列的列表

user_dim_columns = canvas_data_object.get_schema_columns( 'user_dim')

将下载的文本文件从tsv(制表符分隔值)转换为csv

canvas_data_object.convert_tsv_to_csv(tsv_filepath)

列出架构中的所有表

table_list = canvas_data_object.table_list()

下载所有文件并将其转换为csv

canvas_data_object.convert_all_to_csv()

列出表的所有可下载文件

file_list = canvas_data_object.list_all_files('user_dim')

配置文件

你需要在某处创建一个配置文件。此配置文件是典型的.ini 文件。它应该类似于下面的示例。

[config]
API_SECRET = replace_with_api_secret_from_canvas_data
API_KEY = replace_with_api_key_from_canvas_data

base_folder = /path/to/base/folder/for/downloads/
data_folder = %(base_folder)s/test2

connection_string = sqlite:///%(base_folder)s/sample.db

注意:连接字符串配置遵循所需的连接模式 通过http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html的sqlalchemy。

此库支持任何数据库类型,而不是sqlalchemy。


命令行工具

这个库包括一个名为canvasdata的命令行实用程序。

用法

canvasdata [-h] [--config CONFIG] [-t TABLE] [--offline OFFLINE]
                {convert_to_csv,import,create_tables,reset,sql_create_statement,list_files,download,sample_queries,schema}

optional arguments:
  -h, --help            show this help message and exit
  --config CONFIG       path to the configuration file
  -t TABLE              specify a specific table
  --offline OFFLINE     run in offline mode

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

推荐PyPI第三方库


热门话题
java使用spring并在CXF中生成服务器和客户端   重载是否可以重载抽象Java类中的抽象方法,但只实现子类中的一个重载方法?   javawhy系统。currentTimeMillis()是否生成不正确的长值?   java使用Apache POI API将xlsx转换为csv   资源Java找不到文件?   java APDU命令验证返回6a88   JAVAlang.ExceptionInInitializerError是在交换机中构造对象时创建的   java使用嵌套while循环打印星形金字塔   sql Java ResultSet获取返回的字段名   java无法将字符串更改为整数,因为负号跟在数字后面   为什么番石榴/爪哇使用“可能”。isPresent()与可选项相反。是否显示(可能)?   JavaJUnit4看不到bean   JavaJBoss以错误的顺序启动servlet   java无法下载Maven依赖项AnypointStudio   安卓如何在java中存储持久数据   java SQL Server JDBC的驱动程序类名是什么   java中针对大输入的性能优化BufferedReader   java eclipse自动完成内容助理