“List”对象没有“Values”属性

2024-06-26 17:59:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把数据放到Excel工作表中。问题是,当我运行整个代码时,我会收到一个错误,但当我单独运行时,没有错误。

这是我想要的

from xlwings import Workbook, Sheet, Range, Chart
import requests
import json

payload_city = {'cityId':3969, 'cmd':'districts'}
url = "https://www.garantimortgage.com/apps/Socket/Webservice.ashx"
r_city = requests.post(url, data=payload_city)


data_city = json.loads(r_city.text) #json to python data structure conversion
wb = Workbook()
dict = data_city[:] #translation in to dictionary
for i in list(range(len(dict))):
 print  data_city[i]["DistrictName"]
 payload_district = {'cityId':data_city[i]["CityId"], 'lbDistricts':data_city[i]["DistrictCode"], 'criter':149,'startdate':'2003-01','cmd':'result','areaCode':data_city[i]["AreaWideCode"]}

 r_district = requests.post(url, data=payload_district)

 data = json.loads(r_district.text)
 data = map(dict.values, data[u'output'][u'resultset'][u'record'][u'data']) #---->NOT OK.
 for row in data:
     Range("A1").value = zip(*data)

但当我把这个当作

from xlwings import Workbook, Sheet, Range, Chart
import requests
import json

payload = {'cityId':3969, 'lbDistricts':599, 'criter':149,'startdate':'2003-01','cmd':'result','areaCode':18439}
url = "https://www.garantimortgage.com/apps/Socket/Webservice.ashx"
r = requests.post(url, data=payload)

wb = Workbook()
#wb = Workbook.caller()
data = json.loads(r.text)
data = map(dict.values, data[u'output'][u'resultset'][u'record'][u'data'])
for row in data:


    Range("A1").value = zip(*data) 

它起作用了。你能告诉我我的错误在哪里吗?。谢谢你


Tags: inimportcmdjsonurlcitydata错误
1条回答
网友
1楼 · 发布于 2024-06-26 17:59:32

在第一个代码块中,有一个名为dict的列表,它隐藏了内置的dict类型。所以当您尝试在中使用dict.values方法时

data = map(dict.values, data[u'output'][u'resultset'][u'record'][u'data'])

Python在您的列表中寻找名为dict.values()方法,而不是使用内置的dict.values()方法,它找不到这样的方法。

因此,将该列表的名称更改为不会与内置名称冲突的名称。

相关问题 更多 >