如何在不使用任何输入代码的情况下跳过文件中的行直到特定字符串?

How to skip rows from a file until a specific string without using any input code?

我有一个 txt 文件名 'test.txt' 并且想跳过第一行直到我到达包含字符串“~A”的行。

在这一行,我想删除“~A”并创建一个包含 3 列的数据框,名称为 'Stats1'、'Stats2' 和 'Stats3' 以及下面的相关值。

此外,我不想在打开文件时使用任何 'input' 函数来跳过行,因为我想将其推广到其他文件。

文件如下所示:

文本 1

文本 2

文本 3

文本 4

~A Stats1 Stats2 Stats3

1 2 3

6 6 7

8 9 3

谢谢!

应该可行:

with open('test.txt') as f:
    for l in f:
        if l.startswith('~A'):
            columns = l.split()[1:]
            break
    df = pd.read_csv(f, names=columns, sep=' ')

通过循环遍历文件 f 您会消耗不需要的行。

输出:

>>> df
   Stats1  Stats2  Stats3
0       1       2       3
1       6       6       7
2       8       9       3