我遇到了一个让我头疼的严重问题。
我有一个具有不同测量值的传感器日志文件,它们都出现在子字符串“\x02”和“\x03”之间。但我的问题就从这里开始。我如何才能将子字符串之间的所有值放入新列表中。由于测量有很多,而不仅仅是一种,因此它应该提供与“\x02”和“\x03”一样多的列表。
为了让您快速了解日志文件在我将其读入 python 后的情况:
['\x02sEA LMDscandata 1\x03\x02sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03']
我确实尝试了很多(搜索子字符串、搜索索引等..)但无法自拔,我期待您的建议。
谢谢
编辑1:
我需要\x02 和\x03 语句之间的单独列表。例如使用:
['\x02sEA LMDscandata 1\x03\x02sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03\x02sSN LMDscandata 0 1 10B2E77 0 0 5BB 6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03']
所以第一个列表应该看起来像'list1= [sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1'],第二个列表也一样。我需要一个 for 循环,但我无法想象如何实现它..
最佳答案
listfromreadlines = ['\x02sEA LMDscandata 1\x03\x02sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03']
l1 = listfromreadlines[0]
items = [x.replace('\x02', "").replace('\x03', "") for x in l1.split('\x03\x02')]
# Thinking you might have sub items between the delimiters, I can only assume
# they are split by spaces:
subitems = [x.split(" ") for x in items]
关于python - 在Python中解析\x02和\x03之间的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50783262/