删除部分文本文件行?

时间:2019-03-31 23:23:41

标签: 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”,但我一直收到无法将字符串转换为浮点错误消息的信息。感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

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)

这假定格式始终相同,并且宽度相同