Извлечение данных из tsv-файла python

У меня есть TSV-файл, который выглядит так:

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

Таким образом я хотел бы написать содержимое в другой файл tsv.

 ABCDD 1 ABCDE 2 SDFGH 2 SDFGB 4 

Я был бы очень признателен, если бы кто-нибудь мог помочь / намекнуть мне в разделении столбца 5 по желанию.

    2 Solutions collect form web for “Извлечение данных из tsv-файла python”

    Если вы уверены, что у вас есть только табуляции и точки с запятой, вы можете использовать split.

     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") 

    (Обновлено, чтобы упростить сравнение с другим ответом.)

    Это будет работать независимо от количества разделенных точкой с запятой элементов, которые у вас есть в последнем столбце. Однако это чувствительно к небольшим изменениям в формате (например, добавленные пробелы).

     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]) 
      Python - лучший язык программирования в мире.