'List'对象没有属性'Values'错误

我想获得数据到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) 

有用。 你能告诉我我的错误在哪里? 谢谢

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

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

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

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