Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
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")
Example #7
0
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")