我对python很新。
我在COM端口中以固定格式获得串行数据,如下所示:
"21-12-2015 10:12:05 005 100 10.5 P"
格式为'日期时间ID计数数据'
这里我不需要计数和第一个数据,而是我想再添加一个数据并通过另一个COM端口再次发送。
我想重新排列这个并输出
21-12-2015 10:12:05
SI.NO: 1451
Result: 10.5 P
我的尝试:
ip = '21-12-2015_10:12:05_005_100_10.5 P'
dt = ip[0]+ip[1]+ip[3]+..... #save date as dt
tm = ip[9]+ip[10]+ip[11]+.... etc
并在最后
Result = dt + tm +"\n" + " "+ "SI.NO"+.......
请在python 2.7.11中提出一些好的概念 如果您能提一些想法,我会搜索代码。
谢谢
答案 0 :(得分:1)
您可以将空格上的字符串拆分为split
的字段,并使用Python string formatting syntax构建新字符串:
ip = "21-12-2015 10:12:05 005 100 10.5 P"
fields = ip.split()
s = '{date} {time}\n SI.NO: {sino}\n Result: {x} {y}'.format(
date=fields[0],
time=fields[1],
sino=1451, # Provide your own counter here
x=fields[4],
y=fields[5])
print s
21-12-2015 10:12:05
SI.NO: 1451
Result: 10.5 P
您的问题不清楚您的字段是否用空格或下划线分隔。在后一种情况下,请使用fields = ip.split('_')
。