1

私はPythonの初心者で、次のコードがあります:

from SOAPpy import WSDL

fichier_wsdl = 'http://geocoder.us/dist/eg/clients/GeoCoder.wsdl'
wsdl = WSDL.Proxy(fichier_wsdl)
callInfo = wsdl.methods['geocode']
ss = wsdl.geocode('1600 Pennsylvania Ave, Washington, DC.')
print(ss)

結果は次のとおりです。

IMPORT:  http://schemas.xmlsoap.org/soap/encoding/
no schemaLocation attribute in import
<<class 'SOAPpy.Types.typedArrayType'> results at 21824752>: [<SOAPpy.Types.structType item at 21818984>: {'city': 'Washington', 'prefix': '', 'suffix': 'NW', 'zip': 20502, 'number': 1600, 'long': -77.037684, 'state': 'DC', 'street': 'Pennsylvania', 'lat': 38.898748, 'type': 'Ave'}]

そして、ss変数の型を理解しようとしています(print(type(ss))はSOAPpy.Types.typedArrayTypeを取得しますが、これは私にはあまり明確ではありません)? そして、街や通りの単純な変数を持つにはどうすればよいでしょうか?

4

2 に答える 2

5

あなたはただ行うことができますtype(variable name)

于 2011-03-07T19:48:20.163 に答える
2

読みやすくするために、その出力を再フォーマットしましょう。

<<class 'SOAPpy.Types.typedArrayType'> results at 21824752>:

[<SOAPpy.Types.structType item at 21818984>:
     {'city': 'Washington', 'prefix': '', 'suffix': 'NW', 'zip': 20502, 'number': 1600,
      'long': -77.037684, 'state': 'DC', 'street': 'Pennsylvania', 'lat': 38.898748,
      'type': 'Ave'
     }
 ]

変数の型を教えてくれます: SOAPpy.Types.typedArrayType... SOAPpy のドキュメントを読んで理解してください (私は SOAPpy の非ユーザーであり、初心者でもありません)。

本当に知りたいのは、その結果をどのように使用するかです。もしそうならanswer_dict = ss[0]、次のようにフィールドにアクセスできます:

print answer_dict['city']Washingtonなどを作成する必要があります

あなたができるように

city = answer_dict['city']
street = answer_dict['street']
# et cetera

ssファンシータイプでは、リストのように機能するように見えることに注意してください...クエリに複数の回答がある場合(チェックlen(ss))、リストを反復処理する必要があります。

for answer_dict in ss:
    process_each_answer(answer_dict) # substitute your code here
于 2011-03-07T20:09:34.327 に答える