2017-01-26 117 views
-1

我想從下面的代碼中提取多個URL的json數據,但它會引發標題中提到的錯誤。 但是,如果只使用一個URL,代碼將起作用。AttributeError:'list'對象沒有屬性'加載'

任何幫助表示讚賞。

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 (most recent call last): File "C:\Users\acer\Downloads\getwl_rv\json2csv\json2csv.py", line 9, in data = json.loads(response.read()) AttributeError: 'list' object has no attribute 'loads'

回答

3

for json in json_data:

在這一行,你已經覆蓋json模塊名稱。

+0

什麼...愚蠢的錯誤。謝謝! –

2

你重寫模塊您導入

for json in json_data: 

儘量不要通過命名您的模塊變量或內置函數