Как пропустить строки, пока не найдете ключевое слово в текстовом файле и сохраните остальные как csv? питон - PullRequest
0 голосов
/ 17 января 2019

У меня есть текстовый файл в формате CSV, но с ненужными несколькими строками вверху. Мне нужно пропустить несколько 8-10 строк (это зависит от файла) после строки «[App]».

Файл выглядит так:

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 голосов
/ 17 января 2019

Используйте readlines, затем используйте seek и writelines:

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]:])

Ваш файл будет теперь, как и ожидалось, и еще один плюс, что он не делает это по индексу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...