Удаление частей строк текстового файла?

#python

#python

Вопрос:

Я должен изменить текстовый файл так, чтобы ‘1900-01-01’ в начале каждой строки исчез, но временная метка (00:05:08.627012) осталась.

Я пробовал некоторые функции line.strip или replace, но я не могу перестать сталкиваться с ошибками (я совершенно новичок в кодировании)

Текст, который необходимо изменить:

 1900-01-01 00:05:08.627012 ; 0 ; 1.16198 ; 10000000.0
1900-01-01 00:05:08.627012 ; 1 ; 1.16232 ; 10000000.0
  

Код, который я использую:

 for line in lines:
    replace = line.replace('1900-01-01','')
    replace = float(replace)
    ColumnValues.append(replace)
    print(ColumnValues)
  

Мне нужно получить строки для чтения «00:05:08.627012 ; 0 ; 1.16198 ; 10000000.0» и отбросьте «1900-01-01» в начале, но я продолжаю получать сообщение об ошибке «не удается преобразовать строку в float». Помощь приветствуется!

Комментарии:

1. можете ли вы подтвердить, что ваш файл имеет формат, указанный в вопросе? Можете ли вы также указать, как вы открываете свой файл?

2. Вы уверены, что ошибка появляется во время замены? Ваш replace вызов может работать просто отлично, и ошибка возникает во время float(replace) .

Ответ №1:

00:05:08.627012 ; 0 ; 1.16198 ; 10000000.0 недопустимое значение с плавающей точкой, поэтому преобразование завершается неудачей.

Если формат всегда один и тот же, вы можете просто отрезать начало строки:

 for line in lines:
    new_line = line[11:] # slice off the first 11 characters
    ColumnValues.append(new_line)
  

Если вам нужна только внутренняя временная метка:

 for line in lines:
    new_line = line[11:26] # slice off the first 11 characters, and everything after the 26'th
    ColumnValues.append(new_line)
  

Это предполагает, что формат всегда одинаков и имеет одинаковую ширину