我正在尝试操作一个字符串
列表,以便将每个字符串分解为 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/