Missing decimals in the code - some suggestions?
MRAB
python at mrabarnett.plus.com
Tue Apr 16 14:35:10 EDT 2013
On 16/04/2013 19:02, hmjeltevik at gmail.com wrote:
> Hi!
>
> I am using ystockquote with the following code:
>
> def get_historical_prices(symbol, start_date, end_date):
> """
> Get historical prices for the given ticker symbol.
> Date format is 'YYYYMMDD'
>
> Returns a nested list.
> """
> url = 'http://ichart.yahoo.com/table.csv?s=%s&' % symbol + \
> 'd=%s&' % str(int(end_date[4:6]) - 1) + \
> 'e=%s&' % str(int(end_date[6:8])) + \
> 'f=%s&' % str(int(end_date[0:4])) + \
> 'g=d&' + \
> 'a=%s&' % str(int(start_date[4:6]) - 1) + \
> 'b=%s&' % str(int(start_date[6:8])) + \
> 'c=%s&' % str(int(start_date[0:4])) + \
> 'ignore=.csv'
> days = urllib.urlopen(url).readlines()
> data = [day[:-2].split(',') for day in days]
> return data
>
> This code prints the data, but only 2 decimals. I need to print out 4 decimals.
>
> print ystockquote.get_historical_prices('EURUSD=X','20120101','20120301')
>
> Some suggestions?
>
The code prints what it receives; the data it receives has only 2
decimal places.
This question:
http://stackoverflow.com/questions/11496418/yql-forex-historical-prices-queries-how-to-change-default-precision
says that it's Yahoo doing the rounding to 2 decimal places.
It looks like you'll have to find another way to get what you want.
More information about the Python-list
mailing list