如何跳过行,直到在txt文件中找到“关键字”并将其余内容另存为csv?蟒蛇

时间:2019-01-17 09:05:17

标签: python csv parsing

我有一个csv格式的txt文件,但顶部没有多余的几行。 在“ [App]”行之后,我需要跳过几行8-10行(具体取决于文件)。

文件如下:

1, trash
2, trash
3, [APP]
4
.
.
.
100 

,我需要将4-100行保存为csv,其中4将是标题,其余是行。

什么是最好的方法?我尝试了: “打开”

with open('som.txt', 'r') as fin:
    data = fin.read().splitlines(True)
with open('som.txt', 'w') as fout:
    fout.writelines(data[7:])

    print(data)

因此,我现在有了数据列表及其确定的内容,但是该代码跳过了几行,而不是特定字词。另外,我无法将此列表另存为正确的CSV文件; c您能帮忙吗?:)

1 个答案:

答案 0 :(得分:0)

使用readlines,然后使用seekwritelines

with open('some.txt', 'r+') as f:
    text=f.readlines()
    f.seek(0)
    f.writelines(text[[i for i, s in enumerate(mylist) if '[APP]' in s][0]:])

您的文件现在将按预期方式运行,另一个优点是它不会按索引进行操作。