我们在SeleNyGa使用的工具可能有用
somutils的Python项目详细描述
这个模块包含不同的python模块和脚本。 用于Somenergia Cooperative中的脚本,但没有实体 他们有自己的仓库。
- venv:在python虚拟环境下运行命令
- sql2csv.py:运行参数化sql查询并获取 结果为(制表符分隔)csv。
- dbutils.py:具有db相关函数的模块
- fetchNs:包装数据库游标以获取对象的生成器。 使用属性而不是psycopg数组
- nsList:使用前者构建此类对象的列表(较慢 但可能很方便)
- csvTable:将查询结果转换为一个分隔的制表符 具有正确标题名的表格
- sheetfetcher.py:从gdrive检索数据的便利类 展板
venv脚本
此脚本对于在给定的虚拟环境下运行python脚本非常有用 环境。从crontab运行python脚本特别有用 线。
usage: venv /PATH/TO/PYTHON/VIRTUALENV COMMAND [PARAM1 [PARAM2...]]
sql2csv.py脚本
运行SQL文件并将查询结果作为制表符输出 分离csv.a
可以将查询参数作为yamlfile或命令行提供 选项。
sql2csv.py <sqlfile> [<yamlfile>][--<var1> <value1> [--<var2> <value2> ..]]
dbutilspython模块
方便的游标包装器,使数据库访问代码更加 可读性。
示例:
importpsycopg2,dbutilsdb=psycopg2.connect(**dbconfiguration)withdb.cursor()ascursor:cursor.execute("SELECT name, age FROM people")forpersonasdbutils.fetchNs(cursor):ifperson.age<21:continueprint("{name} is {age} years old".format(person))
sheetfetcherpython模块
方便的包装机。
fromsheetfetcherimportSheetFetcherfetcher=SheetFetcher(documentName='My Document',credentialFilename='drive-certificate.json',)table=fetcher.get_range("My Sheet","A2:F12")fulltable=fetcher.get_fullsheet("My Sheet")
- 文档选择器可以是uri或标题
- 工作表选择器可以是索引、名称或ID。
- 范围选择器可以是命名范围、索引元组或“a2:f5” 协调。
- 你应该Create a certificate and grant it access to the document