注意: 请往下滚动至背景章节,了解有用的细节。假设此项目使用Python-Django和South,在下面的示例中。
以下CSV文件应该如何最佳导入?
"john","doe","savings","personal"
"john","doe","savings","business"
"john","doe","checking","personal"
"john","doe","checking","business"
"jemma","donut","checking","personal"
将相关表“Person”、“Account”和“AccountType”导入到PostgreSQL数据库中,并考虑以下内容:
1.管理员用户可以通过自定义UI实时更改数据库模型和CSV导入表示法 2.常规用户导入CSV文件时使用保存的CSV到数据库表/字段映射
迄今为止已经考虑了两种方法:
1. ETL-API方法:提供ETL API、电子表格、我的CSV到数据库表/字段映射以及目标数据库的连接信息。然后,API将加载电子表格并填充目标数据库表。从pygrametl的角度来看,我不认为我想要的是可能的。事实上,我不确定有任何ETL API可以做到这一点。
2.行级插入方法:解析CSV到数据库表/字段映射,解析电子表格,并按“联接顺序”生成SQL插入。
我已经实施了第二种方法,但在算法缺陷和代码复杂性方面遇到困难。是否有一个Python ETL API能够实现我想要的功能?或者有没有一种方法不涉及重新发明轮子?
背景
我工作的公司正在寻求将托管在SharePoint中的数百个项目特定设计电子表格移动到数据库中。我们即将完成一个Web应用程序,通过允许管理员为每个项目定义/建模数据库,存储其中的电子表格,并定义浏览体验来满足这一需求。在完成这个阶段转向商业工具不是一个选择。将Web应用程序视为django-admin的替代品,虽然它不是,但具有DB建模UI、CSV导入/导出功能、可定制的浏览以及模块化的代码以解决项目特定的自定义。实施的CSV导入界面很麻烦且存在错误,因此我正在尝试获取反馈并查找其他解决方法。
psql
调用。 - Dirk Eddelbuettel"john","doe","savings","personal"
,"john","doe","savings","business"
。 - Jonathan Vanasco