分割前的一次出现一定格式的字符的出现时间

我有一个非常大的数据字符串,格式如下,我正试图用Python将其分割。

05:38:14.01  M654  P15-17  Tnow  32  PyQ  64  Times  67  49  6005:38:14.01  M654  P15-17   Tnow  60  PyQ  64  Times  55  4405:38:14.01  M654  P15-17   Tnow   8  PyQ  64  Times  26  1505:38:14.01  M654  P15-17   Tnow  60  PyQ  64  Times  54  4505:38:14.01  M654  P15-17   Tnow   8  PyQ  64  Times  37   1  2005:38:14.01  M654  P15-17   Tnow  28  Ncyt  64  Times  55  44

这个 : 是一个时间的一部分(如 05:38:14)的一部分,但时间前的两个数字与前一行数据有关。因此,我希望能够将时间前的字符串进行拆分,使其读作如下。

05:38:14.01  M654  P15-17  Tnow  32  PyQ  64  Times  67  49  60

05:38:14.01  M654  P15-17   Tnow  60  PyQ  64  Times  55  44

05:38:14.01  M654  P15-17   Tnow   8  PyQ  64  Times  26  15

05:38:14.01  M654  P15-17   Tnow  60  PyQ  64  Times  54  45

05:38:14.01  M654  P15-17   Tnow   8  PyQ  64  Times  37   1  20

05:38:14.01  M654  P15-17   Tnow  28  Ncyt  64  Times  55  44

等。

我试过每隔一段时间就拆分一次。n 的字符数,但每一行都有不同的数字。

另外,随着时间的变化,我希望能够在整个数据集中分割的数字也是不同的。

解决方案:

试试这个

parts = [x for x in re.compile('([\d]{2}:[\d]{2}:[\d]{2}.[\d]{2})').split(s) if x]

Output
['05:38:14.01',
 ' M654 P15-17 Tnow 32 PyQ 64 Times 67 49 60',
 '05:38:14.01',
 ' M654 P15-17 Tnow 60 PyQ 64 Times 55 44',
 '05:38:14.01',
 ' M654 P15-17 Tnow 8 PyQ 64 Times 26 15',
 '05:38:14.01',
 ' M654 P15-17 Tnow 60 PyQ 64 Times 54 45',
 '05:38:14.01',
 ' M654 P15-17 Tnow 8 PyQ 64 Times 37 1 20',
 '05:38:14.01',
 ' M654 P15-17 Tnow 28 Ncyt 64 Times 55 44']

这将在每一次出现符合时间戳的regex时进行拆分,其中s是你的字符串。

然后将列表中的时间戳项与文本项配对连接。

strings = ["".join(parts[i] + parts[i+1]) for i in range(len(parts) - 1)[::2]]

Output
['05:38:14.01 M654 P15-17 Tnow 32 PyQ 64 Times 67 49 60',
 '05:38:14.01 M654 P15-17 Tnow 60 PyQ 64 Times 55 44',
 '05:38:14.01 M654 P15-17 Tnow 8 PyQ 64 Times 26 15',
 '05:38:14.01 M654 P15-17 Tnow 60 PyQ 64 Times 54 45',
 '05:38:14.01 M654 P15-17 Tnow 8 PyQ 64 Times 37 1 20',
 '05:38:14.01 M654 P15-17 Tnow 28 Ncyt 64 Times 55 44']

可能有一个更复杂的gex的oneliner解决方案。我不擅长regex,抱歉。

给TA打赏
共{{data.count}}人
人已打赏
未分类

条件性超时

2022-9-9 3:51:22

未分类

在DT中,两个可编辑的列互相计算。

2022-9-9 4:02:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索