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