2016-11-08 5 views
0

Amazon MWSとのインタフェースにはpython boto package called mwsを使用しています。しかし、私はこれも一般的なpythonの質問ではない、まだよく分からないと思う。私はlist_oder_itemsメソッドを使用して注文の商品アイテムを取得しています。Pythonでカスタムオブジェクトのキーと値のペアを取得する

items = conn.list_order_items(AmazonOrderId = order_id) 
result = items.ListOrderItemsResult 

次に、各項目を保存します。

for item in result.OrderItems.OrderItem: 
    save_item_to_db(item) 

ここitem変数は、あなたがショーこれを、それをプリントアウトした場合のタイプ<class 'boto.mws.response.OrderItem'>、次のとおりです。

のOrderItem {}(タイトル:u'title」、 GiftWrapPrice:USD 0.00、ConditionNote: u'Brand新&本物 製品.... 'CODFee:なし、ASIN:u'XXXX'、OrderItemId: u'XXXX」、CODFeeDiscount:なし、QuantityShipped:U'1' 、 GiftWrapTax:USD 0.00、 ShippingPrice:USD 3.99、QuantityOrdered:u'1 '、 ItemTax:USD 0。 00、PromotionIds:[]、SellerSKU: u'XXXX '、ShippingDiscount:USD 0.00、ShippingTax:USD 0.00、ConditionId:u'New'、プロモーション割引:USD 0.00、ItemPrice:USD 12.81、ConditionSubtypeId:u'New ')

for key in item: print keyのようなキーと値のペアを反復処理できないのはなぜですか?ちょっとばかげても、私はこれを試しました:for key in dict(item): print key。それでも何も印刷されませんでした。

視覚的検査よりもitemオブジェクトを扱うための体系的なアプローチをしたいと思います。通常のpython dictに変換することは可能ですか?

答えて

1

基本的にオブジェクトを取得していて、そのオブジェクトのすべてのフィールドをキー:値のペアとして反復したいとします。

オブジェクトを試すことができます。 _dict_を使用して、オブジェクトの辞書表現を取得します。

コード例:

for key in item.__dict__: 
    print key 
関連する問題