簡體   English   中英

如何使用Beatbox python API從Salesforce中提取原始數據

[英]How to extract raw data from Salesforce using Beatbox python API

我使用以下代碼使用beatbox python API從Salesforce中提取數據。

import beatbox
sf_username = "xyz@salesforce.com"
sf_password = "123"
sf_api_token = "ABC"


def extract():
   sf_client = beatbox.PythonClient()
   password = str("%s%s" % (sf_password, sf_api_token))
   sf_client.login(sf_username, password)
   lead_qry = "SELECT CountryIsoCode__c,LastModifiedDate FROM Country limit 10"
   records = sf_client.query(lead_qry)
   output = open('output','w')
   for record in records:
     output.write('\t'.join(record.values())
   output.close()

if _name_ == '__main__':
 extract()

但這是我在輸出中得到的。 如何獲取原始數據,只是我在工作台中看到的值。 我不想解析每個數據類型並獲取原始值。

實際產量:

[{'LastModifiedDate':datetime.datetime(2012,11,2,9,32,4),'CountryIsoCode_ c':'AU','type':'Country _c','Id':''},{ 'LastModifiedDate':datetime.datetime(2012,8,18,14,0,21),'CountryIsoCode_ c':'LX','type':'Country _c','Id':''},{'LastModifiedDate ':datetime.datetime(2012,11,12,15,20,11),'CountryIsoCode_ c':'AE','type':'Country _c','Id':''},{'LastModifiedDate': datetime.datetime(2012,11,12,15,20,29),'CountryIsoCode_ c':'AR','type':'Country _c','Id':''},{'LastModifiedDate':datetime。 datetime(2012,11,2,9,32,4),'CountryIsoCode_ c':'AT','type':'Country _c','Id':''},{'LastModifiedDate':datetime.datetime( 2012,11,2,9,32,4),'CountryIsoCode_ c':'BE','type':'Country _c','Id':''},{'LastModifiedDate':datetime.datetime(2012, 11,12,15,21,28),'CountryIsoCode_c ':'BR','type':'Country _c','Id':''},{'LastModifiedDate':datetime.datetime(2012,11, 12,15,21,42),'CountryIsoCode_c ':'CA','type':'Country _c','Id':''},{' LastModifiedDate':datetime.datetime(2012,11,12,15,36,18),'CountryIsoCode_ c':'CH','type':'Country _c','Id':''},{'LastModifiedDate' :datetime.datetime(2012,11,12,15,35,8),'CountryIsoCode_ c':'CL','type':'Country _c','Id':''}]

預期產出:

AU 2012-11-02T09:32:04Z
LX 2012-08-18T14:00:21Z

如果使用表數據,則應使用Pandas庫

這是一個例子:

import pandas as pd 
from datetime import datetime
import beatbox

service = beatbox.PythonClient()  
service.login('login_here', 'creds_here')


query_result = service.query("SELECT Name, Country, CreatedDate FROM Lead limit 5")  # CreatedDate is a datetime object
records = query_result['records']      # records is a list of dictionaries

記錄是您之前提到的字典列表

df = pd.DataFrame(records)
print (df)

     Country         CreatedDate Id              Name  type
0  United States 2011-05-26 23:39:58       qwe qwe      Lead
1         France 2011-09-01 08:45:26       qwe qwe      Lead
2         France 2011-09-01 08:37:36       qwe qwe      Lead
3         France 2011-09-01 08:46:38       qwe qwe      Lead
4         France 2011-09-01 08:46:57       qwe qwe      Lead

現在你有了表格式的Dataframe對象。 您可以索引多個列和行:

df['CreatedDate']

0   2011-05-26 23:39:58
1   2011-09-01 08:45:26
2   2011-09-01 08:37:36
3   2011-09-01 08:46:38
4   2011-09-01 08:46:57

這里有更多關於熊貓時間功能的信息http://pandas.pydata.org/pandas-docs/stable/timeseries.html

這里是關於pandas http://pandas.pydata.org/pandas-docs/stable/install.html

暫無
暫無

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

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