字符串切片,分隔符长度变化

时间:2016-01-22 15:20:51

标签: python

可能很简单,但我现在还没有找到解决方案。我导入python的文本文件有一个以空格分隔的结构,例如

time = ""
value = ""
for i in lines:
    time += i[0:20]

我想将其拆分为时间和值变量。切片时间组件很简单

re

但我找不到价值组件的解决方案,因为它主要包含3位数,但有时包含4位数,因此空格分隔符的数量在时间和价值之间变化(这就是{{1包没有在这里工作)。任何解决方案?

3 个答案:

答案 0 :(得分:2)

您可以根据字符串中最后一次出现的空格,对字符串使用rsplit(' ', 1)进行拆分:

所以你可以这样做:

x = '20.06.2009 05:00:00        2.6'
y = '20.06.2009 06:00:00       21.5'
items = [x, y]

value = 0
for item in items:
    value += float(item.rsplit(' ', 1)[1])

print(value)

<强>输出

24.1

答案 1 :(得分:1)

您可以使用删除所有空格的strip函数:

number += float(i[21:].strip())

如果你在行尾有空格,这也适用。

还有.split()个功能可以分割 每个空间都有一条线,如角色或任何你需要的东西。

答案 2 :(得分:0)

您可以.split()使用list1 = x.split(' ')整行。你最后得到的是一个列表。

list1 = ['20.06.2009', '05:00:00', '        2.6']

因此,您可以在第3个元素上查找空格,并使用.replace()

删除em