2016-07-12 5 views
1

저는 ExactTarget Saleforce 마케팅 클라우드 SOAP API를 사용하여 작업하고 있습니다. 내 응용 프로그램에 응답하는 API를 받았고 응답은 사전 목록입니다. 이렇게 :Pandas Dataframe이 모든 행에서 열 이름을 반복하지 않도록하려면 어떻게해야합니까?

ClickEvent){ 
    Client = 
     (ClientID){ 
     ID = 111111 
     } 
    PartnerKey = None 
    CreatedDate = 2016-07-12 00:40:17 
    ModifiedDate = 2016-07-12 00:40:17 
    ID = 11111 
    ObjectID = "11111" 
    SendID = 111111 
    SubscriberKey = "[email protected]" 
    EventDate = 2016-07-12 00:40:17 
    EventType = "aaaa" 
    TriggeredSendDefinitionObjectID = None 
    BatchID = 1 
    URLID = 11111 
    URL = 

성공적으로 항목을 반복했지만 내 코드의 테스트로 3 개의 값만 되돌릴 수 있습니다. ID, PartnerKey, CreatedDate.

나는 변수를 팬더 DataFrame으로 보내고 성공적으로 채워졌습니다. 내 질문에 문제는 열 이름이 모든 행 수준에서 계속 반복되고 왼쪽의 행 번호가 모두 0이라는 점입니다.

행 번호를 순차적으로 만드는 동안 반복되는 열 이름을 중지 할 수 있습니까?

코드 : 지금

import ET_Client 
import pandas as pd 
import json 



try: 
    debug = False 
    stubObj = ET_Client.ET_Client(False, debug) 

    ## Modify the date below to reduce the number of results returned from the request 
    ## Setting this too far in the past could result in a very large response size 
    retrieveDate = '2014-07-11T13:00:00.000' 

    #ET call for clicks 
    print '>>>ClickEvents' 
    getClickEvent = ET_Client.ET_ClickEvent() 
    getClickEvent.auth_stub = stubObj 
    getResponse = getClickEvent.get() 
    ResponseResults = getResponse.results 

    for ClickEvent in ResponseResults: 
     ID = str(ClickEvent['ID']) 
     PartnerKey = ClickEvent['PartnerKey'] 
     CreatedDate = ClickEvent['CreatedDate'] 





     df = pd.DataFrame({'ID':[ID],'PartnerKey':[PartnerKey], 'ClickEvent' :[CreatedDate]}) 

     print df 

출력 :

ClickEvent   ID   PartnerKey 
0 2016-05-21 10:41:46 111111111  None 
      ClickEvent   ID PartnerKey 
0 2016-05-21 11:29:25 111111111  None 
      ClickEvent   ID PartnerKey 

미리 감사드립니다.

답변

3

모든 결과가 포함 된 단일 데이터 프레임 대신 ResponseResults에 각 항목에 대해 하나의 데이터 프레임을 생성 (및 인쇄)하고 있습니다. 다음과 같이 시도하십시오.

ids = [] 
partner_keys = [] 
created_dates = [] 
for ClickEvent in ResponseResults: 
    ids.append(str(ClickEvent['ID'])) 
    partner_keys.append(ClickEvent['PartnerKey']) 
    created_dates.append(ClickEvent['CreatedDate']) 

df = pd.DataFrame({'ID': ids, 'PartnerKey': partner_keys, 
        'ClickEvent' : created_dates}) 
print df 
+0

아름답게 작동합니다. 정말 고맙습니다! – RustyShackleford

관련 문제