簡體   English   中英

(python)遍歷 Salesforce 個表的列表以提取並加載到 AWS S3

[英](python) Iterating through a list of Salesforce tables to extract and load into AWS S3

大家早上好!

我正在嘗試讓例程遍歷表列表。 下面的代碼適用於單個表“聯系人”。 我想遍歷我的 tablelist.csv 中列出的所有表。 我將下面需要在代碼中動態修改的選項加粗。 經過兩個晚上的工作,我的大腦在這一點上非常焦躁,我已經做好了充分准備,因為 inte.net 會告訴我這是 Python 介紹的第二章,但我可以使用幫助來克服這個障礙。

import pandas as pd
import boto3
from simple_salesforce import salesforce

li = pd.read_csv('tablelist.csv', header=none)
desc = sf.**Contact**.describe()  
field_names = [field['name'] for field in desc['fields']]
soql = "SELECT {} FROM **Contact**".format(','.join(field_names))
results = sf.query_all(soql)
sf_df = pd.DataFrame(results['records']).drop(columns='attributes')
sf_df.to_csv('**contact**.csv')
s3 = boto3.client('s3')
s3.upload_file('contact.csv', 'mybucket', 'Ops/20201027/contact.csv')

如果您可以提供 tablelist 文件的示例,將會有所幫助,但這是一個嘗試......您實際上只需要獲取表列表並循環遍歷它。

#assuming table is a column somewhere in the file
df_tablelist = pd.read_csv('tablelist.csv', header=none)
for Contact in df_tablelist['yourtablecolumttoiterateon'].tolist():
    desc = sf.**Contact**.describe()  
    field_names = [field['name'] for field in desc['fields']]
    soql = "SELECT {} FROM {}".format(','.join(field_names), Contact)
    results = sf.query_all(soql)
    sf_df = pd.DataFrame(results['records']).drop(columns='attributes')
    sf_df.to_csv(Contact + '.csv')
    s3 = boto3.client('s3')
    s3.upload_file(Contact + '.csv', 'mybucket', 'Ops/20201027/' + Contact + '.csv')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM