我有数千行数据格式:6580,f | S,17:42:29.3,-39:01:48,2.19,2.41,-0.22
我想只取最后一个数字(在本例中为-0.22),这样我就可以进行一些计算了。 我的问题是:行不是字符串,并且它们具有可变长度(从开头/结尾切片不是一个选项)。如何分隔这些逗号并创建字符串或浮点数列表?
有没有办法按照我可以使用的方式分隔该序列,例如“line [6]”来获取最后一个值?
答案 0 :(得分:0)
如果您需要的浮动数字总是以逗号分隔的line
中的最后一个条目,float(line.split(',')[-1])
应该可以解决问题。
否则我会做类似以下的事情:
def isFloat(val):
try:
float(val)
return True
except ValueError:
return False
number = [x for x in line.split(',') if isFloat(x)][-1]
如果您拥有的所有行都存储在文本文件中,请将其打开并处理您的行:
with open("my_file.txt") as f:
for line in f:
# Here goes the code where you're getting the floating number from the line
答案 1 :(得分:-1)
也许您正在寻找这种语法行[: - 1]将始终为您提供数组中的最后一个元素。
它可能是行[:: - 1]。如果我错了,有人应该纠正我。
是的,如果他们不是字符串,他们是什么?修改。 它的行[-1], Getting the last element of a list in Python