Как заменить объект salesforce объектом фрейма данных pandas из python?

#python #simple-salesforce

Вопрос:

Я извлекаю объект salesforce в python, чтобы объединить фрейм данных с некоторыми внешними фреймами данных.

 !pip install simple_salesforce 

from simple_salesforce import Salesforce
import pandas as pd

sf = Salesforce(
username='', 
password='', 
security_token='')
sf_data = sf.query_all("SELECT Brand_Name__c,Name FROM AuthorisedProduct__c)
sf_df = pd.DataFrame(sf_data)

sf_df.head()
 

На этом этапе поле записи выглядит следующим образом

записи общий размер
OrderedDict([(«атрибуты», OrderedDict([(«тип», «Авторизованный продукт__c»), («url», «/услуги/данные/v42.0/объекты/Авторизованный продукт__c/a020o00000xC1fmAAC»)])), («Бренд__c», «ABB»), («Имя», «UNO-DM-1.2-TL-PLUS-B»)]) 14000
OrderedDict([(«атрибуты», OrderedDict([(«тип», «Авторизованный продукт__c»), («url», «/услуги/данные/v42.0/объекты/Авторизованный продукт__c/a020o00000xC1fnAAC»)])), («Бренд__c», «ABB»), («Имя», «UNO-DM-1.2-TL-PLUS-SB»)]) 14000
Упорядоченный указ([(«атрибуты», Упорядоченный указ([(«тип», «Авторизованный продукт__c»), («url», «/услуги/данные/v42.0/объекты/Авторизованный продукт__c/a020o00000xC1foAAC»)])), («Торговая марка__c», «ABB»), («Имя», «UNO-DM-2.0-TL-ПЛЮС-B»)]) 14000

После преобразования поля записей в фрейм данных pandas с

 sf_authprod = pd.DataFrame(sf_data['records']).drop(['attributes'],axis=1)
 

Стол стал чище

Торговая марка_Название__C Имя
ABB UNO-DM-2.0-TL-PLUS-B
ABB UNO-DM-1,2-TL-ПЛЮС-SB

Теперь форма матрицы такова

 sf_authprod.shape
(14000, 50)
 

Я объединяю этот фрейм данных с внешним фреймом данных с

 df_authprodnew= pd.merge(sf_authprod, 
                      df1, 
                      on =['Brand_Name__c'], 
                      how ='right')
 

Теперь я хочу заменить исходный объект AuthorizedProduct__c на df_authprodnew обратно в salesforce. Но на этот раз форма фрейма данных (14000 на 48). Что также означает, что формат данных должен вернуться к

записи общий размер
OrderedDict([(«атрибуты», OrderedDict([(«тип», «Авторизованный продукт__c»), («url», «/услуги/данные/v42.0/объекты/Авторизованный продукт__c/a020o00000xC1fmAAC»)])), («Бренд__c», «ABB»), («Имя», «UNO-DM-1.2-TL-PLUS-B»)]) 14000

How can I replace a big salesforce object such as AuthorisedProduct__c with a new AuthorisedProduct__c(df_authprodnew renamed), that includes new information such as changes in some values and additions in values.

I want to replace the old table with this new table/ or upload a new table onto salesforce using simple_salesforce and keep replacing the past table every week?

Also, what is the equivalent of sf.query_all(«SELECT * FROM AuthorisedProduct__c)?

Thank you again for your kind suggestions.