Импортируйте данные из Salesforce, используя python - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь получить данные из Salesforce до python. Я могу подключиться к Salesforce и получить данные также в Python, но проблема в том, что Python дает мне вывод в формате JSON, который мне не нужен.

Мне нужна помощь преобразовать формат JSON в фрейм данных.

Вот мой код:

#pip install salesforce_reporting
from simple_salesforce import Salesforce
from salesforce_reporting import Connection,ReportParser,MatrixParser
#import psycopg2 as psy


print("start connecting with salesforce database")
sf = Salesforce(username='XXXXX',password='XXXX',instance_url = 'https://na97.salesforce.com/',sandbox=0, security_token='')
print("connected with salesforce database")

print("start connecting with salesforce database")
sf = Salesforce(username='XXXXX',password='XXXX',instance_url = 'https://na97.salesforce.com/',sandbox=0, security_token='')
print("connected with salesforce database")
print("pull data from salesforce database object")
pd = sf.query("select name from Account where name ='New Technology Sweden AB'") # if we use sf.query_all then will can get all records from spefific objects
#print(pd)

Вот мой вывод:.

# to read data
pd

OrderedDict([('totalSize', 2),
             ('done', True),
             ('records',
              [OrderedDict([('attributes',
                             OrderedDict([('type', 'Account'),
                                          ('url',
                                           '/services/data/v38.0/sobjects/Account/0018000000UG7VaAAL')])),
                            ('Name', 'New Technology Sweden AB')]),
               OrderedDict([('attributes',
                             OrderedDict([('type', 'Account'),
                                          ('url',
                                           '/services/data/v38.0/sobjects/Account/0018000000vhiN4AAI')])),
                            ('Name', 'New Technology Sweden AB')])])])

1 Ответ

0 голосов
/ 11 февраля 2020

"вывод в формате JSON, который мне не нужен"

Вам нужно помочь чистым парням из Salesforce, которые никогда в жизни не писали кусочек Python. Какие форматы может принимать «dataframe»?

Salesforce REST API (используется simple_salesforce) поддерживает JSON и XML. Вы указываете XML, просто отправляя HTTP-заголовок «Accept». Если вы можете работать с XML, то, возможно, вы можете открыть исходный код библиотеки или, возможно, есть какая-то опция конфигурации для указания пользовательских заголовков ... В худшем случае вы можете создать сообщение GET самостоятельно, это не ракетостроение, когда вы вошли в систему. в, получить правильный адрес + Authorization Bearer <session id here> +, что необязательно Accept application/xml

enter image description here

Если вам нужен формат CSV ... Библиотека говорит, что это также поддерживает SF Bulk API. Это можно сделать JSON / XML / CSV , хотя вы указываете это немного по-другому. Опять же, может быть, вы можете открыть простой исходный код Salesforce и немного возиться, может быть, вы сами напишите запрос. Обучение может помочь: https://trailhead.salesforce.com/en/content/learn/modules/api_basics/api_basics_bulk

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...