SQLAlchemy实用程序,用于对表数据进行标准化/非规范化,对CSV有用
sqlalchemy-csv-normalise的Python项目详细描述
sqlalchemy csv标准化
SQLAlchemy实用程序,用于对表数据进行标准化/非规范化,对CSV有用
其中,表被规范化为具有值的“查找表” 通过数字外键ID引用,这些函数将 启用数据提取(或相反,从中加载) 在中替换查找的值。除此之外 允许更人性化的数据编辑,例如电子表格。在
示例:
from sqlalchemy_csv_normalise import denormalise_prepare q, col_names = denormalise_prepare(db.session, table) filename = table_to_filename(table) with open(filename, 'w', newline='') as csv_file: csv_file_writer = csv.writer(csv_file) csv_file_writer.writerow(col_names) csv_file_writer.writerows(q.all()) from sqlalchemy_csv_normalise import renormalise_prepare, empty_deleter,\ type_coercer row_maker = renormalise_prepare(db.session, table) row_cleaner = empty_deleter(table) row_coercer = type_coercer(table) filename = table_to_filename(table) with open(filename, newline='') as csv_file: for d in csv.DictReader(csv_file): row = row_coercer(row_cleaner(row_maker(d))) db.session.add(table(**row)) db.session.commit()
- 免费软件:麻省理工学院许可证
- 文档:https://sqlalchemy-csv-normalise.readthedocs.io。在
特点
- 非规范化\u prepare(会话、表、colname\u tidier)
返回SQLAlchemy查询及其将返回的列名。 如果任何外键(FK)引用 表的唯一列不是其主键。在
任何FK列的名称都将从末尾去掉\u id 作为一个简单的启发。通过提供一个colname_tidier覆盖此选项。在
- 空删除器(表)
返回函数,该函数返回给定dict减去可为null的空字符串 柱。 很有用,因为CSV无法记录NULL。在
- 型强制器(表)
返回给定行dict将强制值的函数。 适用于约会和布尔人。 将只对字符串进行操作,因此如果在已经 得到了非字符串值,它们将不受影响。在
- renormalise_prepare(会话、表、colname\u tidier)
返回将重新规范化给定字典的函数 是否准备反规范化反操作。在
学分
此包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。在
历史
0.1.1(2020-02-01)
- PyPI的第一个版本。在
0.1.2(2020-02-01)
- 使类型强制器仅影响字符串值
- 项目
标签: