2016-11-22 126 views
1

我正尝试使用python将批量数据从csv文件加载到Salesforce。 当我试图在Salesforce中创建一个记录它的正常工作如何使用simple_salesforce模块在Salesforce中创建多个记录

from simple_salesforce import Salesforce 
from simple_salesforce import SFType 
sfdc = Salesforce(username='username', password='pass', security_token='s_token') 
sfdc.testing__c.create({'tt__c': 'name', 'ttmobile__c': '0000000015', 'type': 'testing__c'}) 

,但我想加载大量数据

回答

0

下面的一个样本我在批量创建自定义对象时使用的代码:

from simple_salesforce import Salesforce 
import requests 
import pandas as pd 
import datetime 
import json 

"""Login Credentials""" 
sf_username = "Email Address" 
sf_password = "Password" 
sf_instanceurl = "https://{Enter Instance}.salesforce.com" 
sf_sectoken = "Security Token" 
session = requests.Session() 


sf = Salesforce(username=sf_username, 
       password=sf_password, 
       instance_url=sf_instanceurl, 
       session=session, 
       security_token=sf_sectoken) 

upload_csv = pd.read_csv("Management_Fees.csv") 

"""JSON Date Converter""" 
def DateConverter(o): 
    if isinstance(o, datetime.date): 
     return o.__str__() 

"""Account Value Fee Function""" 
def accountvalue_fee(): 
    sf.Management_Fee__c.create({"Household_Entity__c":Entity, 
           "Account_Number__c":Account, 
           "Billing_Date__c":json.dumps(BillingDate, default=DateConverter).replace('"',""), 
           "Fee_Type__c":FeeType, 
           "Billable_Assets__c":BillableAssets, 
           "Cash_Non_Billable_Value__c":CashNonBill, 
           "Household_Assets__c":HouseholdAssets}) 

"""Upload a Management Fee for each row of DataFrame""" 
for row in upload_csv.itertuples(): 
    try: 
     Entity = str(row[12]) 
     Account = str(row[11]) 
     BillingDate = datetime.datetime.strptime(str(row[3]), '%m/%d/%Y').date() 
     if type(row[5]) is float: 
      CashFlowDate = "" 
     else: 
      CashFlowDate = datetime.datetime.strptime(str(row[5]), '%m/%d/%Y').date() 
     BillableAssets = float(str(row[6]).replace(",","")) 
     CashNonBill = float(str(row[7]).replace(",","")) 
     HouseholdAssets = float(str(row[9]).replace(",","")) 
     FeeType = str(row[4]) 
     accountvalue_fee() 
     print(Account + " Done") 
    except: 
     print(Account + " Upload Failed") 
+0

这并没有真正回答这个问题。如果您有不同的问题,可以通过单击[提问](https://stackoverflow.com/questions/ask)来提问。您可以[添加赏金](https://stackoverflow.com/help/privileges/set-bounties)在您拥有足够的[声誉](https://stackoverflow.com/help/)后吸引更多关注此问题什么声誉)。 - [来自评论](/ review/low-quality-posts/18603000) – EJoshuaS

+1

我的代码显示了如何“使用python将批量数据从csv文件加载到Salesforce”的示例。 – theurlin

相关问题