很简单,但我现在还没有找到解决方案。我导入 python 的文本文件具有空格分隔的结构,例如
20.06.2009 05:00:00 2.6
20.06.2009 06:00:00 21.5
我想将其拆分为时间和值变量。切片时间分量很简单
time = ""
value = ""
for i in lines:
time += i[0:20]
但是我找不到值组件的解决方案,因为它主要包含 3 位数字,但有时包含 4 位数字,因此空格分隔符的数量在时间和值之间变化(这就是 re
包在这里不起作用的原因)。有什么解决办法吗?
您可以使用字符串上的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
您可以使用删除所有空格的 strip 函数:
number += float(i[21:].strip())
如果行尾有空格,这也有效。
还有拆分的.split()
函数每个空间都有一行,比如字符或任何你需要的东西。
list1 = x.split(' ')
.split()
整行。你最后得到的是一个列表。
list1 = ['20.06.2009', '05:00:00', ' 2.6']
因此,您可以在第 3 个元素上查找空格并用.replace()
摆脱 em