Numpy loadtxt 适用于 urllib2 响应但不适用于请求响应
Numpy loadtxt works with urllib2 response but not requests response
我正在尝试使用 loadtxt 从 url(例如 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]
Returns:
[ 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')})
我正在尝试使用 loadtxt 从 url(例如 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]
Returns:
[ 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')})