标签: pygrametl

使用Python-Django将CSV文件导入PostgreSQL数据库

注意:向下滚动到背景部分以获取有用的详细信息.假设该项目使用Python-Django和South,如下图所示.

导入以下CSV的最佳方法是什么?

"john","doe","savings","personal"
"john","doe","savings","business"
"john","doe","checking","personal"
"john","doe","checking","business"
"jemma","donut","checking","personal"
Run Code Online (Sandbox Code Playgroud)

使用相关表Person,AccountAccountType考虑进入PostgreSQL数据库:

  1. 管理员用户可以通过自定义UI实时更改数据库模型和CSV导入表示
  2. 当常规用户导入CSV文件时,将使用保存的CSV到数据库表/字段映射

到目前为止,已经考虑了两种方法

  1. ETL-API方法:向目标数据库提供ETL API电子表格,我的CSV到数据库表/字段映射和连接信息.然后,API将加载电子表格并填充目标数据库表.看着pygrametl我不认为我的目标是可能的.事实上,我不确定任何ETL API都会这样做.
  2. 行级插入方法:解析CSV到数据库的表/字段映射,解析电子表格,并在"join-order"中生成SQL插入.

我实现了第二种方法,但我正在努力解决算法缺陷和代码复杂性问题.是否有一个python ETL API可以满足我的需求?还是一种不涉及重新发明轮子的方法?


背景

我工作的公司正在寻求将sharepoint中托管的数百个项目特定设计电子表格移动到数据库中.我们即将完成满足需求的Web应用程序,允许管理员为每个项目定义/建模数据库,在其中存储电子表格,以及定义浏览体验.在这个完成阶段,过渡到商业工具不是一种选择.将Web应用程序视为django-admin备选方案,尽管它不具备数据库建模UI,CSV导入/导出功能,可自定义浏览和模块化代码,以解决项目特定的自定义问题.

实施的CSV导入界面很麻烦且有问题,所以我试图获得反馈并找到替代方法.

python django postgresql etl pygrametl

6
推荐指数
1
解决办法
3818
查看次数

标签 统计

django ×1

etl ×1

postgresql ×1

pygrametl ×1

python ×1