深度嵌套JSON对象的ETL过程

2024-05-20 20:46:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个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工作。任何反馈都将不胜感激!你知道吗


Tags: 对象脚本anapi信息idfor属性