2016-07-12 7 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。

私はPandas DataFrameに変数を入力しており、正常に設定されました。私の質問と問題は、列の名前はすべての行レベルで継続的に繰り返され、左側の行番号はすべてゼロであるということです。

行番号を順番に並べるときに列名の繰り返しを停止するにはどうすればよいですか?

コード:

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

すべての結果を含む単一のデータフレームではなく、各アイテムの1つのデータフレームを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

関連する問題