Exemplo n.º 1
0
def dropfields(input_path, output_path, todrop):
    input_file = tables.open_file(input_path, mode="r")
    input_root = input_file.root

    output_file = tables.open_file(output_path, mode="w")
    output_globals = output_file.create_group("/", "globals", "Globals")

    print(" * copying globals ...", end=' ')
    copy_table(input_root.globals.periodic, output_globals)
    print("done.")

    output_entities = output_file.create_group("/", "entities", "Entities")
    for table in input_file.iterNodes(input_root.entities):
        table_fields = get_fields(table)
        table_fields = [(fname, ftype) for fname, ftype in table_fields
                        if fname not in todrop]
        size = (len(table) * table.dtype.itemsize) / 1024.0 / 1024.0
        #noinspection PyProtectedMember
        print(" * copying table %s (%.2f Mb) ..." % (table._v_name, size),
              end=' ')
        copy_table(table, output_entities, table_fields)
        print("done.")

    input_file.close()
    output_file.close()
Exemplo n.º 2
0
def dropfields(input_path, output_path, todrop):
    input_file = tables.open_file(input_path, mode="r")
    input_root = input_file.root

    output_file = tables.open_file(output_path, mode="w")
    output_globals = output_file.create_group("/", "globals", "Globals")

    print(" * copying globals ...", end=' ')
    copy_table(input_root.globals.periodic, output_globals)
    print("done.")

    output_entities = output_file.create_group("/", "entities", "Entities")
    for table in input_file.iterNodes(input_root.entities):
        table_fields = get_fields(table)
        output_dtype = np.dtype([(fname, ftype)
                                 for fname, ftype in table_fields
                                 if fname not in todrop])
        size = (len(table) * table.dtype.itemsize) / 1024.0 / 1024.0
        # noinspection PyProtectedMember
        print(" * copying table %s (%.2f Mb) ..." % (table._v_name, size),
              end=' ')
        copy_table(table, output_entities, output_dtype)
        print("done.")

    input_file.close()
    output_file.close()
Exemplo n.º 3
0
def filter_h5(input_path, output_path, condition):
    print("filtering for '%s'" % condition)
    input_file = tables.open_file(input_path, mode="r")
    output_file = tables.open_file(output_path, mode="w")

    # copy globals
    #noinspection PyProtectedMember
    input_file.root.globals._f_copy(output_file.root, recursive=True)

    output_entities = output_file.create_group("/", "entities", "Entities")
    for table in input_file.iterNodes(input_file.root.entities):
        #noinspection PyProtectedMember
        print(table._v_name, "...")
        copy_table(table, output_entities, condition=condition)

    input_file.close()
    output_file.close()
Exemplo n.º 4
0
def filter_h5(input_path, output_path, condition, copy_globals=True):
    print("filtering for '%s'" % condition)
    input_file = tables.open_file(input_path)
    output_file = tables.open_file(output_path, mode="w")

    # copy globals
    if copy_globals:
        # noinspection PyProtectedMember
        input_file.root.globals._f_copy(output_file.root, recursive=True)

    output_entities = output_file.create_group("/", "entities", "Entities")
    for table in input_file.iterNodes(input_file.root.entities):
        # noinspection PyProtectedMember
        print(table._v_name, "...")
        copy_table(table, output_entities, condition=condition)

    input_file.close()
    output_file.close()
Exemplo n.º 5
0
def map_file(input_file, output_file, entities_map):
    # copy globals
    if hasattr(input_file.root, 'globals'):
        #noinspection PyProtectedMember
        input_file.root.globals._f_copy(output_file.root, recursive=True)

    print(" * copying tables")
    output_entities = output_file.createGroup("/", "entities", "Entities")
    for table in input_file.iterNodes(input_file.root.entities):
        #noinspection PyProtectedMember
        ent_name = table._v_name
        print(ent_name, "...")
        if ent_name in entities_map:
            output_table = output_file.createTable(output_entities, table.name,
                                                   table.dtype,
                                                   title=table._v_title)
            map_rows(table, output_table, entities_map[ent_name])
        else:
            copy_table(table, output_entities)
Exemplo n.º 6
0
def map_file(input_file, output_file, entities_map):
    # copy globals
    if hasattr(input_file.root, 'globals'):
        # noinspection PyProtectedMember
        input_file.root.globals._f_copy(output_file.root, recursive=True)

    print(" * copying tables")
    output_entities = output_file.create_group("/", "entities", "Entities")
    for table in input_file.iterNodes(input_file.root.entities):
        # noinspection PyProtectedMember
        ent_name = table._v_name
        print(ent_name, "...")
        if ent_name in entities_map:
            # noinspection PyProtectedMember
            output_table = output_file.create_table(output_entities, table.name,
                                                    table.dtype,
                                                    title=table._v_title)
            map_rows(table, output_table, entities_map[ent_name])
        else:
            copy_table(table, output_entities)