Ремонт плохо отформатированного цв - PullRequest
0 голосов
/ 21 марта 2020

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

Например:

Col1\tCol2\tCol3
A\t\t1\t1
B\t\t

Я попытался python re заменить все \t\t с каналом, но это вызывает проблемы во второй строке, где есть нулевые значения.

Не могли бы вы предложить, как я могу исправить первую строку?

1 Ответ

1 голос
/ 21 марта 2020

Я понимаю, что вы хотите сохранить такое же количество столбцов, как в заголовке, в этом случае я сделаю что-то вроде этого:

outputlines = []

# Replace the undesired characters in each line
with open("yourFileNameHere","r") as reader:
    lines = reader.readlines()
    for line in lines:
        # Get the length of each line in order to determine which logic to apply
        if len(line.split("\t")) > 3:
            outputlines.append(line.strip().replace("\t\t","|").replace("\t","|"))
        else:
            outputlines.append(line.strip().replace("\t","|"))

# Write back the file with the new format
with open("myOutputFileName","w") as writer:
    rows = len(outputlines)
    for i in range(rows):
        if i != rows - 1:
            writer.write(f'{outputlines[i]}\n')
        else:
            writer.write(f'{outputlines[i]}')

Пожалуйста, дайте мне знать, если это поможет: D!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...