es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Transponga las entradas de una tabla dadas como texto en un archivo utilizando un diccionario.

dic = {}
with open(input_file, 'r') as input:
    for line in input:
        block = line.strip().split('\t')[0]
        dic[block] = line.strip().split('\t')[1]

output_str = ''
for key, value in dic.items():
    output_str += value + '\t'
output_str = output_str.rstrip('\t')

with open(output_file, 'w') as output:
    output.write(output_str)

En el código anterior, se ha creado una nueva variable output_str que se inicializa como una cadena vacía. Luego, se recorren los elementos del diccionario dic y se agrega el valor de cada elemento a output_str, seguido de un tabulador \t. Después de recorrer todos los elementos, se elimina el último tabulador usando rstrip('\t'). Luego, se abre el archivo de salida output y se escribe output_str en él. Esto generará la salida esperada en el archivo de salida.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Una forma de extraer la salida esperada del diccionario que contiene la información de entrada es utilizando la biblioteca Texttable en Python. Aquí está el código que podría lograr la transformación:

    import texttable as tt
    
    # diccionario que contiene los datos de entrada
    input_dict = {'A': 'a', 'B': 'b', 'C': 'c', 'D': 'd', 'E': 'e'}
    
    # crea un objeto Texttable
    table = tt.Texttable()
    
    # crea dos listas para los encabezados y las filas de datos
    header = ['A', 'B', 'C', 'D', 'E']
    data = [input_dict[key] for key in header]
    
    # establece los encabezados y las filas de datos en el objeto Texttable
    table.header(header)
    table.add_row(data)
    
    # imprime la tabla transpuesta final
    print(table.draw())
    

    Este código debería producir la siguiente salida:

    +---+---+---+---+---+
    | A | B | C | D | E |
    +---+---+---+---+---+
    | a | b | c | d | e |
    +---+---+---+---+---+
    

    De esta manera, se extrae la salida esperada utilizando el diccionario creado a partir de los datos de entrada, y sin utilizar la función de transposición de pandas. Se utiliza la biblioteca Texttable para transponer la tabla y mostrar el resultado esperado.

Comments are closed.