python - 将字符串分成 block ,然后将这些 block 传递给一个新对象。 python 3

标签 python regex string pandas

我正在尝试操作一个字符串列表,以便将每个字符串分解为 block ,然后将这些 block 存储在一个新列表中。

示例:

原始字符串列表如下所示

l_1 = ['09:13:34\t135\t94\t77\t2.97\t2.247\\\n', '09:14:34\t135\t94\t77\t3.03\t2.207\\\n', '09:15:34\t130\t94\t79\t2.83\t2.331\\\n', '09:16:34\t132\t95\t80\t2.86\t2.331\\\n

我想要的是去掉每个字符串末尾的 \\\n ,然后在 \t 处分隔每个字符串。因此,例如,l_1[0] 应该从此结束

'09:13:34\t135\t94\t77\t2.97\t2.247\\\n'

对此:

l_2 = ['09:13:34', 135, 94, 97, 2.97, 2.247] 

就上下文而言,l_1 来自纯文本文件,其中每个新行都是生物特征数据的带时间戳的观察结果,每个文本文件都是一个参与者,我需要将所有行合并到 pandas 数据框中的一行中,并且可能需要一次对 100-200 个文本文件执行此操作。显然我希望能够实现自动化。

到目前为止我尝试过的是:

import re

with open("data_1.txt") as f:
    contents = f.readlines()

i = contents[0]
re.split(r'\t+', i.rstrip('\\\n'))

print(i)

但是,当我运行时,l_1 就变成了

<class 'list'>
[['', '}']]

所以我没有继续将 block 存储在新列表中,然后将该列表作为数据框中的一行。

如果有人能告诉我我做错了什么(以及如何正确做),我将非常感激。

最佳答案

试试这个。

使用 open("filename",'r') 作为数据加载:

for i in dataload.readlines():

    print(str(i.split('\\t')[0:-1]).replace('\'',''))

输出-

["09:13:34", 135, 94, 77, 2.97]

["09:14:34", 135, 94, 77, 3.03]

["09:15:34", 130, 94, 79, 2.83]

["09:16:34", 132, 95, 80, 2.86]

关于python - 将字符串分成 block ,然后将这些 block 传递给一个新对象。 python 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59679434/

相关文章:

python - 如何在 Python 的 CatBoost 中正确加载预训练模型

regex - 如何使用 m!在 Perl 正则表达式中

python - 正则表达式如何检查长号中的最后 4 个数字

java - 如何更改此方法以返回字符串列表而不是字符串?

python - 数据迁移以替换文本字段中单词的实例?

JavaScript 文件未加载到 Django 自定义管理页面中

python - 使用 NLTK 时的 Unicode 问题

javascript - 在javascript中查找字符串在设置宽度的div(没有换行符)内运行的行数

c - 如何在具有动态字符串的函数中使用 malloc 并且不在末尾添加符号

python - 如何使用 Rally API 获取测试用例名称