我試圖獲取地震數據,並將其轉換爲數組,以便我可以使用該數據在地圖上可視化地震。我在寫這個劇本:從URL獲取CSV文件並將其轉換爲數組 - Python 2.7
import requests
import csv
def csv_to_array(a):
b = requests.get(a)
my_file = open(b, "rb")
for line in my_file:
el = [i.strip() for i in line.split(',')]
return el
我導入到另一個模塊,並:
import csvToArray
data = csvToArray.csv_to_array(
"http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.csv")
i = 1
while i < len(data):
stuff = data[i].split(',')
print stuff[1], stuff[2]
lat = float(stuff[1])
lon = float(stuff[2])
x = webMercX(lon, zoom) - cx
y = webMercY(lat, zoom) - cy
i += 1
上述腳本的其他功能是不必要的,但是當我運行它,我得到以下錯誤。
while i < len(data):
TypeError: object of type 'NoneType' has no len()
因爲'print'不返回任何東西:) ,你沒有從'csv_to_array'返回任何東西' – ZdaR
哇,這是一個愚蠢的錯誤(我現在剛剛解決),但現在我得到以下錯誤: my_file =打開(B,「RB」) 類型錯誤:強迫爲Unicode:需要字符串或緩衝區,響應發現 它無法識別URL作爲字符串 – Oxide
現在你只需返回*第一線*文件。該函數立即結束在第一個'返回' –