如何使用 Python 从 URL 读取 CSV 文件?

新手上路,请多包涵

当我卷曲到 API 调用链接 http://example.com/passkey=wedsmdjsjmdd

 curl 'http://example.com/passkey=wedsmdjsjmdd'

我以 csv 文件格式获取员工输出数据,例如:

 "Steve","421","0","421","2","","","","","","","","","421","0","421","2"

如何使用 python 解析它。

我试过:

 import csv
cr = csv.reader(open('http://example.com/passkey=wedsmdjsjmdd',"rb"))
for row in cr:
    print row

但它没有用,我得到了一个错误

http://example.com/passkey=wedsmdjsjmdd No such file or directory:

谢谢!

原文由 mongotop 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 784
2 个回答

您需要将 open 替换为 urllib.urlopenurllib2.urlopen

例如

import csv
import urllib2

url = 'http://winterolympicsmedals.com/medals.csv'
response = urllib2.urlopen(url)
cr = csv.reader(response)

for row in cr:
    print row

这将输出以下内容

Year,City,Sport,Discipline,NOC,Event,Event gender,Medal
1924,Chamonix,Skating,Figure skating,AUT,individual,M,Silver
1924,Chamonix,Skating,Figure skating,AUT,individual,W,Gold
...

原始问题被标记为“python-2.x”,但对于 Python 3 实现(只需要微小的更改), 请参见下文

原文由 eandersson 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 pandas 直接从 url 读取 csv 文件非常简单

import pandas as pd
data = pd.read_csv('https://example.com/passkey=wedsmdjsjmdd')

这将以表格格式读取您的数据,这将非常容易处理

原文由 Kathirmani Sukumar 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题