用于处理画布数据的python实用程序
pycanvasdata的Python项目详细描述
完整文档
这个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