我正在使用API调用来将销售/营销CRM中的联系信息获取到Postgres服务器中。我已经创建了一个可以正常工作的python脚本,但是我确信有一种更好的方法可能会被我忽略。
我创建了一个架构,其中考虑了所有可能与使用SQLAlchemy的API调用中的对象一起返回的字段。
然后,我编写了一个Python脚本来进行API调用。返回时,脚本将遍历每个对象并查找所有属性。如果对象具有属性,则将其记录下来。否则,该属性将记录为“无类型”。
for i in API.response:
id = i['id'] # objects always return an ID
# Use method below for each possible attribute that could be
# returned with an object (max ~200 properties).
try:
foo = i['contact_attribute']
except:
foo = None
insert_statement = Class.insert.values(id, foo)
db.connect().execute(insert_statement)
该程序有效,但是我正在寻找反馈以改善ETL工作。任何反馈将不胜感激!