def add_daily_price(instrument, d1, d2, folder): print instrument.split('|')[0] date = utils01.jsonToYahooDate(d1['AsAtDateTime'][1:-1]) filename = '%s/%s.csv' % (folder, instrument.split('|')[0]) #--check if file actually exists if os.path.exists(filename): #--file exists fp = open(filename, 'r') else: #--create file fp = open(filename, 'w') writer = csv.writer(fp) writer.writerow( ('Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close')) fp.close() fp = open(filename, 'r') if date in fp.read(): #--date already in file, do nothing fp.close() return False fp = open(filename, 'a') writer = csv.writer(fp) writer.writerow((date, '', float(d2['DailyHigh']), float(d2['DailyLow']), float(d1['ClosingPrice']), float(d1['Volume']), '')) fp.close() return True
def write_one_year_prices(d, folder): """ pass json object d write yahoo price format do not duplicate dates """ print d[0]['AlphaCode'] filename = '%s/%s.csv' % (folder, d[0]['AlphaCode']) if os.path.exists(filename): dates = dict() fp = open(filename, 'r') reader = csv.reader(fp) reader.next() for row in reader: dates[row[0]]=True fp.close() #--append to existing file fp = open(filename, 'a') writer = csv.writer(fp) else: #--file does not exist dates = dict() fp = open(filename, 'w') writer = csv.writer(fp) writer.writerow( ('Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close') ) for day in d: date = utils01.jsonToYahooDate(day['Date'][1:-1]) if not dates.has_key(date): #--new date writer.writerow((date , '', '', float(day['Price']), '', '') ) fp.close()
def add_daily_price(instrument, d1, d2, folder): print instrument.split('|')[0] date = utils01.jsonToYahooDate(d1['AsAtDateTime'][1:-1]) filename = '%s/%s.csv' % (folder, instrument.split('|')[0]) #--check if file actually exists if os.path.exists(filename): #--file exists fp = open(filename, 'r') else: #--create file fp = open(filename, 'w') writer = csv.writer(fp) writer.writerow( ('Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close') ) fp.close() fp = open(filename, 'r') if date in fp.read(): #--date already in file, do nothing fp.close() return False fp = open(filename, 'a') writer = csv.writer(fp) writer.writerow((date, '', float(d2['DailyHigh']), float(d2['DailyLow']), float(d1['ClosingPrice']), float(d1['Volume']), '')) fp.close() return True