【问题标题】:How to open .csv file from a url with Python?如何使用 Python 从 url 打开 .csv 文件?
【发布时间】:2014-12-03 13:28:12
【问题描述】:

我正在尝试从 url 打开一个 csv 文件,但由于某种原因,我收到一条错误消息,提示存在无效的模式或文件名。我不确定问题是什么。帮忙?

url = "http://...."
data = open(url, "r")
read = csv.DictReader(data)

【问题讨论】:

    标签: python url csv


    【解决方案1】:

    下载流,然后处理:

    import urllib2
    url = "http://httpbin.org/get"
    response = urllib2.urlopen(url)
    data = response.read()
    read = csv.DictReader(data)
    

    【讨论】:

    • 感谢@Esparta Palma 的回答。它帮助了我。这是对我有用的版本:'''' import urllib2 url = "httpbin.org/get" response = urllib2.urlopen(url) data = response.read().decode('utf-8') read = csv.DictReader (data.splitlines()) for row in read: # Do something ''''
    【解决方案2】:

    我为此推荐熊猫:

    import pandas as pd
    read = pandas.io.parsers.read_csv("http://....", ...)
    

    请查看documentation

    【讨论】:

    • 或者,您可以使用标准的 urllib 从 URL 下载并解析流。
    【解决方案3】:

    您可以执行以下操作:

    import csv
    import urllib2
    
    url = 'http://winterolympicsmedals.com/medals.csv'
    response = urllib2.urlopen(url)
    cr = csv.reader(response)
    
    for row in cr:
     print row
    

    【讨论】:

      【解决方案4】:

      有点舌头在脸颊:

      require json
      >>> for line in file(','):
      ...     print json.loads('['+line+']')
      

      CSV 不是一种定义明确的格式。 JSON 就是这样,这样每次都会正确解析某种类型的 CSV。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-07
        • 2013-04-23
        • 2020-10-09
        • 2015-03-19
        • 1970-01-01
        • 2015-07-22
        • 1970-01-01
        相关资源
        最近更新 更多