如何在Python中删除断开的数据

2024-09-29 01:27:04 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个文件可以获取上传脚本的统计数据。这就是我得到的

    0K .......... .......... .......... .......... ..........   4% 72.83 KiB/s
  470K .......... .......... .......... .......... ..........   9% 84.67 KiB/s
 1088K .......... .......... .......... .......... ..........  15% 91.78 KiB/s
 1708K .......... .......... .......... .......... ..........  20% 90.17 KiB/s
  1250K .......... .......... ....   5% 85.29 KiB/s
  6150K .........  10% 64.32 KiB/s
  8350K .......... .......... ........... .......... .....  15% 55.12 KiB/s
...==> STOR test10.zip ... ....  20% 59.38 KiB/s
    0K ................. .......... ... ............. ............. ............  25% 66.21 KiB/s
 2845K ...... .......... ........... .............. . ................... ...   4% 32.62 KiB/s
  464K ................ ... ..................  29% 59.62 KiB/s
 3371K .. ................ ....... ...... ................ ....... ........... ......   8% 38.75 KiB/s
  963K ............ ................ ....  34% 51.58 KiB/s
2253K .......... .......... .......... .......... ..........  24% 99.92 KiB/s
 2787K .......... .......... .......... .......... ..........  29% 92.12 KiB/s
 3291K .......... .......... .......... .......... ..........  33% 84.42 KiB/s
 3821K .......... .......... .......... .......... ..........  38% 75.88 KiB/s
 4342K .......... .......... .......... .......... ..........  43% 73.12 KiB/s

有些人破坏了由互联网问题引起的数据。 所以我想要的是删除那些损坏的数据,它看起来是这样的:

    0K .......... .......... .......... .......... ..........   4% 72.83 KiB/s
  470K .......... .......... .......... .......... ..........   9% 84.67 KiB/s
 1088K .......... .......... .......... .......... ..........  15% 91.78 KiB/s
 1708K .......... .......... .......... .......... ..........  20% 90.17 KiB/s
 2253K .......... .......... .......... .......... ..........  24% 99.92 KiB/s
 2787K .......... .......... .......... .......... ..........  29% 92.12 KiB/s
 3291K .......... .......... .......... .......... ..........  33% 84.42 KiB/s
 3821K .......... .......... .......... .......... ..........  38% 75.88 KiB/s
 4342K .......... .......... .......... .......... ..........  43% 73.12 KiB/s

注意:并非所有时间,数据与上述示例相同


Tags: 文件数据脚本示例时间互联网zip统计数据
1条回答
网友
1楼 · 发布于 2024-09-29 01:27:04

一种方法:

$ cat foo.py
data = '''
    0K .......... .......... .......... .......... ..........   4% 72.83 KiB/s
  470K .......... .......... .......... .......... ..........   9% 84.67 KiB/s
 1088K .......... .......... .......... .......... ..........  15% 91.78 KiB/s
 1708K .......... .......... .......... .......... ..........  20% 90.17 KiB/s
  1250K .......... .......... ....   5% 85.29 KiB/s
  6150K .........  10% 64.32 KiB/s
  8350K .......... .......... ........... .......... .....  15% 55.12 KiB/s
...==> STOR test10.zip ... ....  20% 59.38 KiB/s
    0K ................. .......... ... ............. ............. ............  25% 66.21 KiB/s
 2845K ...... .......... ........... .............. . ................... ...   4% 32.62 KiB/s
  464K ................ ... ..................  29% 59.62 KiB/s
 3371K .. ................ ....... ...... ................ ....... ........... ......   8% 38.75 KiB/s
  963K ............ ................ ....  34% 51.58 KiB/s
2253K .......... .......... .......... .......... ..........  24% 99.92 KiB/s
 2787K .......... .......... .......... .......... ..........  29% 92.12 KiB/s
 3291K .......... .......... .......... .......... ..........  33% 84.42 KiB/s
 3821K .......... .......... .......... .......... ..........  38% 75.88 KiB/s
 4342K .......... .......... .......... .......... ..........  43% 73.12 KiB/s
'''

import re
pattern = r".*\d+K\s+(\.{10}\s){5}\s*\d+%\s+\d+\.\d+\s+KiB\/s.*"

for line in data.split('\n'):
    if re.match(pattern, line) is not None:
        print(line)
$

执行结果:

$ python foo.py
    0K .......... .......... .......... .......... ..........   4% 72.83 KiB/s
  470K .......... .......... .......... .......... ..........   9% 84.67 KiB/s
 1088K .......... .......... .......... .......... ..........  15% 91.78 KiB/s
 1708K .......... .......... .......... .......... ..........  20% 90.17 KiB/s
2253K .......... .......... .......... .......... ..........  24% 99.92 KiB/s
 2787K .......... .......... .......... .......... ..........  29% 92.12 KiB/s
 3291K .......... .......... .......... .......... ..........  33% 84.42 KiB/s
 3821K .......... .......... .......... .......... ..........  38% 75.88 KiB/s
 4342K .......... .......... .......... .......... ..........  43% 73.12 KiB/s
$ 

相关问题 更多 >