def run_csv_gen(sec_dict, invs_res, output_dir, verbose=False): ctr = 0 assert output_dir != None output_dir = invs_utils.rp(output_dir) if not os.path.isdir(output_dir): print("{} doesn't exist. Creating it now !!".format(output_dir)) os.makedirs(output_dir) # endif print('Output dir = {}'.format(output_dir)) # Iterate over all security dict for sec_code in sec_dict.keys(): # Fetch data d_this = invs_core.fetch_data(sec_dict[sec_code]['ticker'], invs_res, verbose=verbose) sec_name = sec_dict[sec_code]['name'] # If dataframe is empty, continue if d_this.empty: continue # endif # Set time axis as index d_this = d_this.set_index('t') # save to CSV file csv_file_this = output_dir + '/{}_{}.csv'.format(sec_name.replace(' ', '_'), invs_res) print('{}. CSV Report for {}'.format(ctr, coloritf(sec_name, 'magenta'))) d_this.to_csv(csv_file_this) ctr = ctr + 1 # endfor # Write to csv file print(coloritf('--------------------- REPORT END --------------------------------', 'green'))
def run_csv_gen(sec_dict, kis_res, pub_tok, output_dir, sleep_secs=5, interval_limit=400, verbose=False): ctr = 0 assert output_dir != None output_dir = invs_utils.rp(output_dir) if not os.path.isdir(output_dir): print("{} doesn't exist. Creating it now !!".format(output_dir)) os.makedirs(output_dir) # endif print('Output dir = {}'.format(output_dir)) # Iterate over all security dict for sec_code in sec_dict.keys(): # Fetch data d_this = invs_core.fetch_data_kite(sec_dict[sec_code]['ticker'], kis_res, pub_tok, interval_limit=interval_limit, verbose=verbose) sec_name = sec_dict[sec_code]['name'] # If dataframe is empty, continue if d_this.empty: continue # endif # save to CSV file csv_file_this = output_dir + '/{}_{}.csv'.format( sec_name.replace(' ', '_'), kis_res) print('{}. CSV Report for {}'.format(ctr, coloritf(sec_name, 'magenta'))) d_this.to_csv(csv_file_this) # Sleep for some time so as not to overload server if sleep_secs: print('Sleeping for {} seconds'.format(sleep_secs)) time.sleep(sleep_secs) # endif ctr = ctr + 1 # endfor # Write to csv file print( coloritf( '--------------------- REPORT END --------------------------------', 'green'))
def run_csv_gen(sym_list, instr_file, kis_res, pub_tok, output_dir, ilimit=200, verbose=False): assert output_dir != None output_dir = invs_utils.rp(output_dir) if not os.path.isdir(output_dir): print("{} doesn't exist. Creating it now !!".format(output_dir)) os.makedirs(output_dir) # endif print('Output dir = {}'.format(output_dir)) # Read instrument file into dataframe dframe_instrs = pd.read_csv(instr_file) for ctr, sym_this in enumerate(sym_list): ticker_this = search_sym_in_kite_instruments(dframe_instrs, sym_this) if ticker_this is None: continue # endif # Fetch data d_this = invs_core.fetch_data_kite(ticker_this, kis_res, pub_tok, interval_limit=ilimit, verbose=verbose) # If dataframe is empty, continue if d_this.empty: print('Couldnot download data for {}'.format(sym_this)) return # endif # save to CSV file csv_file_this = output_dir + '/{}_{}.csv'.format(sym_this, kis_res) print('{}. Downloading CSV Report for {}'.format( ctr, coloritf(sym_this, 'magenta'))) d_this.to_csv(csv_file_this)
type=str, default='') parser.add_argument('--ofile', help='Output file name.', type=str, default='~/fo.workspace') args = parser.parse_args() if args.__dict__['sfile'] == None: print('--sfile required !!') sys.exit(-1) # endif suff_list = args.__dict__['suffix'].split( ',') if args.__dict__['suffix'] else [''] out_file = invs_utils.rp(args.__dict__['ofile']) sec_file = invs_utils.rp(args.__dict__['sfile']) ofile_hdr = 'Symbols' ofile_ftr = 'ColumnList\n1,0,94;1,3,69;1,4,64;1,5,58;1,6,64;1,7,63;0,8,100;1,9,64;1,10,61;1,11,64;1,12,65;1,1,67;1,13,63;1,14,68;0,15,100;0,16,100;0,17,100;0,18,100;1,19,67;1,20,67;0,21,100;0,22,100;0,23,100;0,24,100;0,25,100;0,26,100;0,27,100;0,28,100;0,29,100;0,30,100;0,31,100;0,32,100;1,33,100;1,34,83;1,2,100;\nCharts' sec_list = invs_parsers.populate_sec_list(sec_file) code_list = [] for sec_t in sec_list: for suffx_t in suff_list: code_list.append(sec_t['code'] + suffx_t) # endfor # endfor # Write to workspace file