Python:解码问题(ascii)

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)

我不确定出了什么问题.任何帮助将不胜感激.

aIK*_*Kid 5

你忘记了引号:

aline = aline.decode('ascii')
Run Code Online (Sandbox Code Playgroud)

你现在正在做的是传递内置函数ascii,这会使你decode感到困惑,并抛出你现在看到的错误.

这应该解决它,希望这有帮助!