def merge_csv_to_a_book(filelist, outfilename): merged = Book() for file_name in filelist: sheet = get_sheet(file_name=file_name, delimiter=';') _, tail = os.path.split( file_name.replace("result_", '').replace('.csv', '')) sheet.name = tail merged += sheet merged.save_as(outfilename)
def merge_all_to_a_book(filelist, outfilename=DEFAULT_OUT_XLS_FILE): """merge a list of excel files into a excel book :param list filelist: a list of accessible file path :param str outfilename: save the sheet as """ merged = Book() for file_name in filelist: merged += get_book(file_name=file_name) merged.save_as(outfilename)
def merge_all_to_a_book(filelist, outfilename=DEFAULT_OUT_XLS_FILE): """merge a list of excel files into a excel book :param list filelist: a list of accessible file path :param str outfilename: save the sheet as """ merged = Book() for file_name in filelist: merged += get_book(file_name=file_name) merged.save_as(outfilename)
def merge_csv_to_a_book(filelist, outfilename=DEFAULT_OUT_XLS_FILE): """merge a list of csv files into a excel book :param list filelist: a list of accessible file path :param str outfilename: save the sheet as """ merged = Book() for file_name in filelist: sheet = get_sheet(file_name=file_name) head, tail = os.path.split(file_name) sheet.name = tail merged += sheet merged.save_as(outfilename)
def merge_csv_to_a_book(filelist, outfilename=DEFAULT_OUT_XLS_FILE): """merge a list of csv files into a excel book :param list filelist: a list of accessible file path :param str outfilename: save the sheet as """ merged = Book() for file_name in filelist: sheet = get_sheet(file_name=file_name) _, tail = os.path.split(file_name) sheet.name = tail merged += sheet merged.save_as(outfilename)
def merge(output_file_type, csv_output_delimiter, csv_output_encoding, csv_output_quotechar, csv_output_escapechar, csv_output_quoting, csv_output_lineterminator, csv_output_no_doublequote, sources, output): """ Merge excel files in various file formats into one excel file SOURCES: space separated parameters. a file name, a directory name or a file patterns OUTPUT: a file name or '-'. '-' tells the command to use stdout """ file_list = [] dir_list = [] glob_list = [] merged_book = Book() for source in sources: if os.path.isfile(source): file_list.append(source) elif os.path.isdir(source): dir_list.append(source) else: glob_list.append(source) params = {} if output_file_type == 'csv' or output.endswith('csv'): params = _make_csv_params( csv_output_lineterminator, csv_output_encoding, csv_output_delimiter, csv_output_quoting, csv_output_quotechar, csv_output_escapechar, csv_output_no_doublequote) for afile in _join_the_list(file_list, dir_list, glob_list): try: book = get_book(file_name=afile) merged_book += book if output != "-": click.echo(".") except FileTypeNotSupported: # version pyexcel>=0.4.4 click.echo("Skipping %s" % afile) except NotImplementedError: click.echo("Skipping %s" % afile) if merged_book.number_of_sheets() > 0: if output == '-': merged_book.save_to_memory(output_file_type, sys.stdout, **params) else: merged_book.save_as(output, **params) else: click.echo("Nothing to be merged")
def merge(output_file_type, csv_output_delimiter, csv_output_encoding, csv_output_quotechar, csv_output_escapechar, csv_output_quoting, csv_output_lineterminator, csv_output_no_doublequote, sources, output): """ Merge excel files in various file formats into one excel file SOURCES: space separated parameters. a file name, a directory name or a file patterns OUTPUT: a file name or '-'. '-' tells the command to use stdout """ file_list = [] dir_list = [] glob_list = [] merged_book = Book() for source in sources: if os.path.isfile(source): file_list.append(source) elif os.path.isdir(source): dir_list.append(source) else: glob_list.append(source) params = {} if output_file_type == 'csv' or output.endswith('csv'): params = _make_csv_params(csv_output_lineterminator, csv_output_encoding, csv_output_delimiter, csv_output_quoting, csv_output_quotechar, csv_output_escapechar, csv_output_no_doublequote) for afile in _join_the_list(file_list, dir_list, glob_list): try: book = get_book(file_name=afile) merged_book += book if output != "-": click.echo(".") except FileTypeNotSupported: # version pyexcel>=0.4.4 click.echo("Skipping %s" % afile) except NotImplementedError: click.echo("Skipping %s" % afile) if merged_book.number_of_sheets() > 0: if output == '-': merged_book.save_to_memory(output_file_type, sys.stdout, **params) else: merged_book.save_as(output, **params) else: click.echo("Nothing to be merged")