【问题标题】:Python: Trouble with Decode(ascii)Python:解码问题(ascii)
【发布时间】:2013-11-03 16:07:42
【问题描述】:

我应该编写一个执行以下操作的函数

为过程 parseEarthquakeData 编写合同、文档字符串和实现,该过程以 YYYY/MM/DD 格式获取两个日期,从上述 USGS URL 访问地震数据并返回一个由四个代表纬度、经度的数字组成的列表,幅度和深度。外部列表应包含给定日期之间每次地震的这四个数字列表之一。

该函数将获取两个日期并访问this url 并提供地震数据。这是我到目前为止所拥有的。我已经编写了 betweenDates 方法,它可以正常工作。它需要三个日期,如果第一个日期在最后两个日期之间,则返回 true。到目前为止,这是我的 parseEarthquake。

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

它给了我错误。

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

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

【问题讨论】:

    标签: python ascii decode


    【解决方案1】:

    你忘记了引号:

    aline = aline.decode('ascii')
    

    您当前正在做的是传递内置函数ascii,这使decode 感到困惑,并抛出了您现在看到的错误。

    这应该可以解决它,希望这会有所帮助!

    【讨论】:

    • 好吧,我是个白痴。这只是为更多错误打开了闸门!不过谢谢!这让我发疯了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 2015-03-15
    • 2016-07-09
    • 2019-01-02
    • 2016-09-26
    • 1970-01-01
    相关资源
    最近更新 更多