Jon*_*han 2 python ascii decode
我应该编写一个执行以下操作的函数
编写一个过程parseEarthquakeData的合同,文档字符串和实现,该过程以YYYY/MM/DD格式获取两个日期,从上面的USGS URL访问地震数据并返回表示纬度,经度,幅度和四个数字的列表列表.深度.外部列表应包含给定日期之间每次地震的这四个数字列表中的一个.
该函数将使用两个日期并访问此URL并提供地震数据.这是我到目前为止所拥有的.我已经编写了betweenDates方法,它可以正常工作.它需要三个日期,如果第一个日期在最后两个日期之间,则返回true.到目前为止,这是我的解析地震.
def parseEarthquakeData(date1, date2):
dataFile = urllib.request.urlopen("http://neic.usgs.gov/neis/gis/qed.asc")
latList = []
longList = []
magList = []
depthList = []
for aline in dataFile:
aline = aline.decode(ascii)
splitData = aline.split(',')
if (betweenDates(splitData[0],date1,date2)):
latList.append(splitData[2])
longList.append(splitData[3])
magList.append(splitData[4])
depthList.append(splitData[5])
finalList=[]
finalList.append(latList)
finalList.append(longList)
finalList.append(magList)
finalList.append(depthList)
return finalList
Run Code Online (Sandbox Code Playgroud)
它给了我错误.
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
parseEarthquakeData("2013/07/05","2013/07/10")
File "C:\Python33\plotEarthquakes.py", line 47, in parseEarthquakeData
line = aline.decode(ascii)
TypeError: decode() argument 1 must be str, not builtin_function_or_method
Run Code Online (Sandbox Code Playgroud)
我不确定出了什么问题.任何帮助将不胜感激.
你忘记了引号:
aline = aline.decode('ascii')
Run Code Online (Sandbox Code Playgroud)
你现在正在做的是传递内置函数ascii,这会使你decode感到困惑,并抛出你现在看到的错误.
这应该解决它,希望这有帮助!
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |