在python

时间:2015-12-21 14:21:14

标签: python-2.7

我对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中提出一些好的概念 如果您能提一些想法,我会搜索代码。

谢谢

1 个答案:

答案 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('_')