我有一个愚蠢的问题。当我将其复制到浏览器时,我有一个立即生成csv文件的地址。但是我需要使用python代码来完成此操作,因此我尝试执行以下操作:
import urllib.request
url = 'https://www.quandl.com/api/v3/datasets/WSE/TSGAMES.csv?column_index=4&start_date=2018-01-01&end_date=2018-12-31&collapse=monthly&transform=rdiff&api_key=AZ964MpikzEYAyLGfJD2Y
csv = urllib.request.urlopen(url).read()
with open('file.csv', 'wb') as fx: # bytes, hence mode 'wb'
fx.write(csv)
但是我遇到一个错误:引发HTTPError(req.full_url,code,msg,hdrs,fp)
HTTPError:错误的请求
您知道原因并且可以帮助您吗?
感谢您的帮助!
答案 0 :(得分:0)
编辑我应该声明您的链接对我不起作用,并且我的quandl API与您的不同。
使用请求模块非常简单:
import requests
filename = 'test_file.csv'
link = 'your link here'
data = requests.get(link) # request the link, response 200 = success
with open(filename, 'wb') as f:
f.write(data.content) # write content of request to file
f.close()
答案 1 :(得分:0)
该链接对我不起作用。像这样尝试(通用示例)。
from urllib.request import urlopen
from io import StringIO
import csv
data = urlopen("http://pythonscraping.com/files/MontyPythonAlbums.csv").read().decode('ascii', 'ignore')
dataFile = StringIO(data)
csvReader = csv.reader(dataFile)
with open('C:/Users/Excel/Desktop/example.csv', 'w') as myFile:
writer = csv.writer(myFile)
writer.writerows(csvReader)