Helpful Datetime Resources
A list of helpful resources when working with datetime/dates from Salesforce
Convert SFDC Datetime to Datetime or Date object
import datetime
# Formatting to SFDC datetime
formatted_datetime = datetime.datetime.strptime(x, "%Y-%m-%dT%H:%M:%S.%f%z")
# Formatting to SFDC date
formatted_date = datetime.datetime.strptime(x, "%Y-%m-%d")
Helpful Pandas Resources
A list of helpful resources when working with Pandas and simple-salesforce
Generate list for SFDC Query “IN” operations from a Pandas Dataframe
import pandas as pd
df = pd.DataFrame([{'Id':1},{'Id':2},{'Id':3}])
def dataframe_to_sfdc_list(df, column):
df_list = df[column].unique()
df_list = [str(x) for x in df_list]
df_list = ','.join("'" + item + "'" for item in df_list)
return df_list
sf.query(format_soql(
"SELECT Id, Email FROM Contact WHERE Id IN ({})",
dataframe_to_sfdc_list(df, column)
))
Generate Pandas Dataframe from SFDC API Query (ex.query,query_all)
import pandas as pd
sf.query("SELECT Id, Email FROM Contact")
df = pd.DataFrame(data['records']).drop(['attributes'],axis=1)
Generate Pandas Dataframe from SFDC Bulk API Query (ex.bulk.Account.query)
import pandas as pd
sf.bulk.Account.query("SELECT Id, Email FROM Contact")
df = pd.DataFrame.from_dict(data,orient='columns').drop('attributes',axis=1)
YouTube Tutorial
Here is a helpful YouTube tutorial which shows how you can manage records in bulk using a jupyter notebook, simple-salesforce and pandas.
This can be a effective way to manage records, and perform simple operations like reassigning accounts, deleting test records, inserting new records, etc…