根据python中的字符串将其分开

问题描述 投票:0回答:1

我有一个file包含(〜1000)行以下简化形式的数据:

movej(p[-0.2875, -0.4, 0.05, -0.0004, 3.1415, 0.0002],a=5.000000,v=5.000000,r=0.000000) 
movej([-1.3615, -2.0244, -1.5691, -2.6895, 0.2092, 1.2197],a=5.000000,v=5.000000,r=0.050000)
movel(p[-0.2875, -0.375, 0.0, -0.0004, 3.1415, 0.0002],a=0.500000,v=0.300000,r=0.000000)
movel([-1.2437, -1.9458, -2.0485, -2.2887, 0.0128, 1.2197],a=5.000000,v=5.000000,r=0.050000)
# Various comments
## Various comments
### Various comments

并且我需要将行分成两组(以便以后转换为pandas数据帧),一组包含带p的行-以“ movej(p [”或“ movel(p [”)开头,另一组由没有p的行中的-以“ movej([”或“ movel([”。

movej(p[-0.2875, -0.4, 0.05, -0.0004, 3.1415, 0.0002],a=5.000000,v=5.000000,r=0.000000) 
movel(p[-0.2875, -0.375, 0.0, -0.0004, 3.1415, 0.0002],a=0.500000,v=0.300000,r=0.000000)

and

movej([-1.3615, -2.0244, -1.5691, -2.6895, 0.2092, 1.2197],a=5.000000,v=5.000000,r=0.050000)
movel([-1.2437, -1.9458, -2.0485, -2.2887, 0.0128, 1.2197],a=5.000000,v=5.000000,r=0.050000)

为此,我创建了以下代码几乎可以完成这项工作。

我遇到的问题是它停止或不将所有内容存储在TCP_lines和joint_lines字符串中。我也尝试过使用具有相同结果的列表。

with open("SRP_Assemble all BUSH_BEARING onto HPC_FRONT_BOTTOM.script", "r") as f:
    lines = f.readlines()
    TCP_lines = ""
    joint_lines = ""

    for line in lines:
        if line.startswith(("movej(p" ,"movel(p")):
            TCP_lines += line
        elif line.startswith(("movej(" ,"movel(")):
            joint_lines += line

print (TCP_lines)
print (joint_lines)

我有一个文件,包含(〜1000)行以下简化形式的数据:movej(p [-0.2875,-0.4,0.05,-0.0004,3.1415,0.0002],a = 5.000000,v = 5.000000, r = 0.000000)movej([-1.3615,-2.0244,-1 ....

python csv startswith
1个回答
0
投票

在上下文管理器中移动打印语句,就像这样:

© www.soinside.com 2019 - 2024. All rights reserved.