Numpy loadtxt与urllib2响应一起使用但不响应请求响应

时间:2015-10-17 18:14:57

标签: python csv numpy python-requests urllib2

我正在尝试使用loadtxt将来自http://real-chart.finance.yahoo.com/table.csv?s=PXD&d=9&e=17&f=2015&g=d&a=11&b=12&c=1970&ignore=.csv等网址的csv文件加载到numpy数组中。如果我使用urllib2.urlopen(url)这可以正常工作,但我遇到了与requests.get(url)

的错误

示例:

file = urllib2.urlopen(url)
Date,Open,High,Low,Close,Volume,AdjClose = np.loadtxt(file, unpack=True, delimiter=',', skiprows=1,converters={0:mdates.strpdate2num('%Y-%m-%d')})
print AdjClose[:5]

返回:

[ 140.570007  136.580002  133.240005  131.889999]

但是同样如下:

file = requests.get(url)

无论我尝试对参数进行哪些更改,都会导致此类错误:

ValueError: time data '33.00' does not match format '%Y-%m-%d'

将.text添加到requests.get(url)会导致整个数据集的一个长字符串以及\ n个字符。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

使用requests,我认为您需要显式迭代响应行,否则loadtxt将无法正确获取各行。尝试:

Date,Open,High,Low,Close,Volume,AdjClose = np.loadtxt(file.iter_lines(),
            unpack=True, delimiter=',', skiprows=1,
            converters={0:mdates.strpdate2num('%Y-%m-%d')})