Extraer datos de archivo tsv python

Tengo un archivo TSV, que se parece a esto:

ABCDD=1;E=2 SDFGH=2;B=4 

Me gustaría escribir el contenido en otro archivo tsv de esta manera.

 ABCDD 1 ABCDE 2 SDFGH 2 SDFGB 4 

Realmente apreciaría si alguien pudiera ayudarme / insinuarme en dividir la columna 5 según lo deseado.

Si está seguro de que solo tiene tabs y puntos y comas, puede usar la división.

 with open('/tmp/test.tsv') as infile, open('/tmp/test2.tsv', 'w') as outfile: for line in infile: tsplit = line.split("\t") firstcolumns = tsplit[:-1] lastitems = tsplit[-1].strip().split(";") for item in lastitems: allcolumns = firstcolumns + item.split("=") outfile.write("\t".join(allcolumns) + "\n") 

(Actualizado para que sea más fácil de comparar con la otra respuesta).

Esto funcionará independientemente del número de elementos separados por punto y coma que tenga en la última columna. Sin embargo, esto es sensible a pequeños cambios en el formato (por ejemplo, espacios agregados).

 with open('path/to/input') as infile, open('path/to/output', 'w') as outfile: writer = csv.writer(outfile, delimiter='\t') for line in csv.reader(infile, delimiter='\t'): vals = line[-1] headers = line[:-1] for val in vals.split(';'): writer.writeline(headers + [val])