我正在嘗試創建一個函數,它採用YYYY/MM/DD格式的兩個日期,讀取數據並返回包含兩個日期之間地震的緯度,經度,大小和深度的列表列表。該數據的格式如下:如何分割逗號分隔的數據並從python中的數據創建一個列表?
Date,TimeUTC,Latitude,Longitude,Magnitude,Depth
2012/02/23,08:09:13.0,-20.984,-178.654,4.6,526
這是我的嘗試:
from tempBetweenDates import dateLessThan
import urllib.request
def betweenDates(date1, date2, date3):
"""Determines if the first date is on the second or between the second and third date."""
date_1 = date1.split('/')
date_2 = date2.split('/')
date_3 = date3.split('/')
if int(date_1[0]) >= int(date_2[0]) and int(date_1[1]) >= int(date_2[1]) and int(date_1[2]) >= int(date_2[2]) and dateLessThan(int(date_1[1]), int(date_1[2]), int(date_1[0]), int(date_3[1]), int(date_3[2]), int(date_3[0])) == True:
return True
else:
return False
def parseEarthquakeData(date1, date2):
page = urllib.request.urlopen("http://www.choongsoo.info/teach/mcs177-sp12/projects/earthquake/earthquakeData-02-23-2012.txt")
eqdata = page.readlines()
dataList = []
for line in eqdata:
lineSplit = line.split(',')
date = lineSplit[0]
data = lineSplit[2:6]
dataList = [[data] for line in eqdata if betweenDates(date, date1, date2) == True]
return(dataList)
每當我嘗試和運行代碼我得到一個錯誤:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
parseEarthquakeData("2012/02/22", "2012/02/19")
File "C:\Users\lcooper2\Desktop\Python\PROJECTS\plotEarthquakes.py", line 20, in parseEarthquakeData
lineSplit = line.split(',')
TypeError: Type str doesn't support the buffer API
如何任何提示避免這個錯誤?
聖CRUD做你需要去發現'datetime'模塊! :) – 2015-04-04 03:12:48
如果(betweenDates(date,date1,date2)) – CY5 2015-04-04 03:24:13