在多个列表上使用pyzillow但收到错误

时间:2017-12-26 04:59:23

标签: python pandas zillow

我在pyzillow API中传递的列表

from pyzillow.pyzillow import ZillowWrapper, GetDeepSearchResults
hometype = []

for add,zip_code in zip(add_list,zip_list):
    address = add
    zipcode = zip_code
    zillow_data = ZillowWrapper('X1-ZWz18uczm57uvf_56tmg')
    deep_search_response = zillow_data.get_deep_search_results(address, zipcode)
    result = GetDeepSearchResults(deep_search_response)
    hometype.append(result.home_type)

这是我正在运行的API

add_list_edited = ['913   COMANCHE DR   OXON HILL MD ','16640   HARWOOD OAKS CT   DUMFRIES VA ','70   CLAY ST   ANNAPOLIS MD ','9125   SCOTT ST   SPRINGFIELD VA ']
zip_list_edited = [20745, 22026, 21401, 22153]

这完美运行并提供正确的输出

但是当我使用这些列表时

TypeError: __str__ returned non-string (type dict)

我在运行相同的API时遇到以下错误

{{1}}

我检查了列表中的第二个地址是不是特定的,因此剪贴板抛出错误。 我删除了它,代码工作但问题是我只在4个元素上使用了试验和错误。 我正在处理大量的元素,并在删除具有第二个地址的值后运行代码并再次抛出相同的错误,但实际上无法确定哪个地址出现问题。 有没有办法在循环中添加异常?我不介意丢掉给我错误的价值观。 任何建议都会受到欢迎。

1 个答案:

答案 0 :(得分:0)

根据我之前的回复,这就是我的意思:

from pyzillow.pyzillow import ZillowWrapper, GetDeepSearchResults, ZillowError

def getprice(address, zipcode):
    zid = 'put_api_key_here'

    zildat = ZillowWrapper(zid)
    try:
        deep_search_response = zildat.get_deep_search_results(address, zipcode)
    except ZillowError as e:
        message = e.message['text']
        code = e.message['code']
        print("Error: {code} - {message}".format(code=code, message=message))
        return 0

    result = GetDeepSearchResults(deep_search_response)
    price = result.last_sold_price
    return price