2014-10-20 2 views
-1

Я пытаюсь вытащить данные о запасе в течение дня aapl по yahoo. но есть проблема, я перед моей программы ..python pandas yahoo наличие данные об ошибке

import pandas as pd 
import datetime 
import urllib2 
import matplotlib.pyplot as plt 
get = 'http://chartapi.finance.yahoo.com/instrument/1.0/aapl/chartdata;type=quote;range=1d/csv' 
getdata = urllib2.urlopen(get).read() 
df = pd.read_csv(getdata, skiprows=17, header=None) 
print df.head() 

и ошибка это ....

Traceback (most recent call last): 
File "getyahoodata.py", line 10, in <module> 
df = pd.read_csv(getdata, skiprows=16, header=None) 
File "/usr/lib/python2.7/dist-packages/pandas/io/parsers.py", line 420, in parser_f 
return _read(filepath_or_buffer, kwds) 
File "/usr/lib/python2.7/dist-packages/pandas/io/parsers.py", line 218, in _read 
parser = TextFileReader(filepath_or_buffer, **kwds) 
File "/usr/lib/python2.7/dist-packages/pandas/io/parsers.py", line 502, in __init__ 
self._make_engine(self.engine) 
File "/usr/lib/python2.7/dist-packages/pandas/io/parsers.py", line 610, in _make_engine 
self._engine = CParserWrapper(self.f, **self.options) 
File "/usr/lib/python2.7/dist-packages/pandas/io/parsers.py", line 972, in __init__ 
self._reader = _parser.TextReader(src, **kwds) 
File "parser.pyx", line 330, in pandas.parser.TextReader.__cinit__ (pandas/parser.c:3200) 
File "parser.pyx", line 557, in pandas.parser.TextReader._setup_parser_source (pandas/parser.c:5559) 
IOError: File uri:/instrument/1.0/aapl/chartdata;type=quote;range=1d/csv 

тикер: AAPL

1413811857,98.3800,98.4999,98.3000,98.3800,1327900 
1413811908,98.5200,98.6196,98.3360,98.3800,380100 
1413811978,98.4200,98.5300,98.3850,98.4700,993800 

::::::::::::::::::::::::::::::::::::::::::::: 
::::::::::::::::::::::::::::::::::::::::::::: 
more and more 


1413835019,99.8800,99.9100,99.8600,99.9000,524300 
1413835079,99.8600,99.8850,99.8500,99.8700,600400 
1413835139,99.8100,99.8600,99.7900,99.8500,530900 
1413835199,99.7201,99.8301,99.7000,99.8200,1001500 
1413835200,99.7600,99.7600,99.7600,99.7600,1720500 

не существует

в yahoo data pulling program показать полные данные ... но когда я использую google, он отлично работает ... пожалуйста, попробуйте над программой помочь написать программу ... t hanks ...

+0

Пожалуйста, дайте пример вывода вы получаете, и на выходе вы ожидаете. Также укажите URL-адрес Google, который вы используете. Ваш вопрос не очень ясен как есть. – MattDMo

ответ

3

pd.read_csv принимает путь или файловый объект. Вы передаете сам текст, и он пытается прочитать это как имя файла. Вы можете просто передать URL (хотя get не большой имя переменной ..)

In [102]: df = pd.read_csv(get, skiprows=17, header=None) 

In [103]: df.head() 
Out[103]: 
      0  1  2  3  4  5 
0 1413811859 98.3800 98.5000 98.3100 98.4800 1348400 
1 1413811860 98.4775 98.6196 98.3265 98.3701 452200 
2 1413811977 98.4250 98.5400 98.3800 98.4700 900000 
3 1413812039 98.4800 98.4900 98.3900 98.4250 378100 
4 1413812040 98.8300 98.8500 98.4700 98.4800 495300 
+0

спасибо, брату .... !!! –

+1

@Najeeb Пожалуйста, отметьте ответ как решение, если оно решит вашу проблему – Parker