python - Numpy loadtxt 适用于 urllib2 响应但不适用于请求响应

标签 python csv numpy python-requests urllib2

我正在尝试从一个 url 加载一个 csv 文件,例如 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使用 loadtxt 进入一个 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 字符。

有什么想法吗?谢谢!

最佳答案

对于 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')})

关于python - Numpy loadtxt 适用于 urllib2 响应但不适用于请求响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33189971/

相关文章:

python - 在 Maya 中使用 .NET

python - 无效索引错误: Reindexing only valid with uniquely valued Index objects

python - 在 Python 中创建一个无限长的正弦音

python - 用 numpy/scipy 卸载吞咽

python - 将 2D numpy 数组 reshape 为 3 个具有 x、y 索引的 1D 数组

python - 如何使这个乐透程序可重复

python - SciKit-learn 的 'predict' 函数输出格式错误

python - 如何在python中从文件中提取数据

shell - .csv 文件是否有最大文件大小硬限制?

java - 用Java制作一个简单的CSV文件