Missing decimals in the code - some suggestions?
Ian Kelly
ian.g.kelly at gmail.com
Tue Apr 16 14:20:18 EDT 2013
On Tue, Apr 16, 2013 at 12:02 PM, <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?
This isn't a Python question. If you take a look at the csv file that
you download from Yahoo, you will see that it only contains 2 digits
of precision. There's no way to make Python print out 4 digits of
precision when it is only provided with 2. You will need to find out
if there is a way to ask for more precision in the Yahoo API.
More information about the Python-list
mailing list