问题描述
我正在将一个 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([('attributes',OrderedDict([('type','AuthorisedProduct__c'),('url','/services/data/v42.0/sobjects /AuthorisedProduct__c/a020o00000xC1fmAAC')])),('Brand_Name__c','ABB'),('Name','UNO-DM-1.2-TL-PLUS-B')]) | 14000 |
OrderedDict([('attributes','/services/data/v42.0/sobjects /AuthorisedProduct__c/a020o00000xC1fnAAC')])),'UNO-DM-1.2-TL-PLUS-SB')]) | 14000 |
OrderedDict([('attributes','/services/data/v42.0/sobjects /AuthorisedProduct__c/a020o00000xC1foAAC')])),'UNO-DM-2.0-TL-PLUS-B')]) | 14000 |
使用
转换pandas数据帧中的记录字段后sf_authprod = pd.DataFrame(sf_data['records']).drop(['attributes'],axis=1)
桌子更干净
Brand_Name__C | 名称 |
---|---|
ABB | UNO-DM-2.0-TL-PLUS-B |
ABB | UNO-DM-1.2-TL-PLUS-SB |
现在,矩阵的形状是
sf_authprod.shape
(14000,50)
我正在将此数据框与外部数据框合并
df_authprodnew= pd.merge(sf_authprod,df1,on =['Brand_Name__c'],how ='right')
现在我想用 df_authprodnew 替换原来的 AuthorisedProduct__c 对象回到 salesforce。但是这次数据框的形状是 (14000 x 48)。这也意味着数据格式应该回到
记录 | 总尺寸 |
---|---|
OrderedDict([('attributes','UNO-DM-1.2-TL-PLUS-B')]) | 14000 |
如何使用新的 AuthorisedProduct__c(df_authprodnew 重命名)替换 AuthorisedProduct__c 等大型 salesforce 对象,其中包含新信息,例如某些值的更改和值的添加。
我想用这个新表替换旧表/或使用 simple_salesforce 将新表上传到 salesforce 并每周继续替换过去的表?
另外,sf.query_all("SELECT * FROM AuthorisedProduct__c) 的等价物是什么?
再次感谢您的友好建议。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)