Как удалить строки цв - PullRequest
       4

Как удалить строки цв

1 голос
/ 13 июля 2020
1 7 c

5 2 q

4 5 a

5 0 c 
for i,line in enumerate(read_tsv):
first = read_tsv[i][0]
second = read_tsv[i][1]
letter = read_tsv[i][2]
if i == 2:
  

У меня есть файл tsv, и я хотел бы удалить строки, в которых третье значение не равно c. Я бы хотел, чтобы это выглядело вот так. Пока я знаю, как разделять значения, я просто не знаю, как удалить строку на основе третьего значения с вкладкой.

1 7 c 

5 0 c

1 Ответ

2 голосов
/ 13 июля 2020

Вы можете открыть do c для чтения / итерации и отфильтровать нежелательные строки, затем открыть его для записи и записать эти данные обратно

import csv

with open('filename.tsv', 'r') as f:
    reader = csv.reader(f, delimiter='\t')
    data = [row for row in reader if row[2] == 'c']

with open('filename.tsv', 'w') as f:
    writer = csv.writer(f, delimiter='\t')
    writer.writerows(data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...