AttributeError:' list'对象没有属性' load'

时间:2017-01-26 05:05:08

标签: python json list

我尝试使用下面的代码从多个URL中提取json数据,但它会引发标题中提到的错误。 但是,当只使用一个URL时,代码可以正常工作。

感谢任何帮助。

import urllib, json, time, csv

arr_ids = ['611', '1564', '1565', '1561', '712', '779', '118', '707', '706', '711', '155', '713', '710', '607', '609', '592', '739', '589', '608', '606', '569', '570', '612', '587', '567', '591', '564', '563', '566', '565', '568', '588', '1561', '1387', '1388', '1575', '1567', '1577', '1568', '152', '154', '153', '1203', '1204', '708', '709', '1576', '780', '781', '1573', '1574', '782', '121', '120', '1562', '1385', '1386', '1563']
convert_list = [['date_and_time','val']]

for arr_id in arr_ids:
      url = "http://xxxyyyyx.com/predict/dataloc.php?param=rv&dfrm=01/24/2017&dto=01/25/2017&numloc=1&data24=0&locs[]="+arr_id
      response = urllib.urlopen(url)
      data = json.loads(response.read())
      for key in data:
            station_name = key
            json_data = data[station_name]
            for json in json_data:
                  epoch_time = json[0]/1000 
                  formatted = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(epoch_time))
                  val = json[1]
                  new_list = [formatted,val]
                  convert_list.append(new_list)

            with open(station_name+".csv", "wb") as f:
                writer = csv.writer(f)
                writer.writerows(convert_list)

抛出错误:

  

Traceback(最近一次调用最后一次):文件   " C:\ Users \ acer \ Downloads \ getwl_rv \ json2csv \ json2csv.py",第9行,在          data = json.loads(response.read())AttributeError:' list'对象没有属性'加载'

2 个答案:

答案 0 :(得分:3)

for json in json_data:

在这一行中,您已覆盖json模块名称。

答案 1 :(得分:2)

您已覆盖导入的模块

for json in json_data:

尽量不按模块或内置函数命名变量