python - 如何基于多个分隔符(连续的空格)进行分隔
问题描述
我有一个看起来像这样的 txt
Layer_00 : 3.46ms Layer_01 : 3.40ms Layer_02 : 3.56ms Layer_03 : 3.49ms Layer_04 : 3.44ms
Layer_05 : 3.45ms Layer_06 : 3.44ms Layer_07 : 3.46ms Layer_08 : 3.45ms Layer_09 : 3.48ms
Layer_10 : 3.48ms Layer_11 : 3.48ms Layer_12 : 3.57ms Layer_13 : 3.54ms Layer_14 : 3.60ms
Layer_15 : 3.58ms Layer_16 : 3.59ms Layer_17 : 3.57ms Layer_18 : 3.55ms Layer_19 : 3.57ms
Layer_20 : 3.58ms Layer_21 : 3.57ms Layer_22 : 3.52ms Layer_23 : 3.56ms Layer_24 : 3.47ms
我想用 ':' 和 3 个连续的空格分隔它们
有谁知道如何实现它?
我试过了
pd.read_csv('text.txt', sep = '[:, ]', header = None)
但它似乎不起作用。
解决方案
只需手动处理它们。 pandas.read_csv
很方便,但只有当您的数据恰好与它可以读取的格式匹配时才有效。
import re
data = []
for line in open('text.txt'):
data.append( re.split(r'\s[\s:]\s', line.rstrip()) )
df = pd.DataFrame(data)
推荐阅读
- c - 向结构数组添加值会导致 Seg Fault
- c++ - 服务器问题
- php - php -> preg_replace -> 只删除引号之间的空格
- java - 如何在Java中组合两个网格位置?
- linux - 使用 vala 将 uris 插入 Gtk.Clipboard
- python - 具有多个参数的函数调用的大多数 Pythonic 风格
- spring - 如何从spring mvc进入angular4页面
- ubuntu - ubuntu 18.04 中的 Docker 交换支持
- java - 怎么算没有。来自 JSON 响应的 null 事件及其属性名称
- arduino - PIR 传感器输出不符合预期