如何删除tsv的行

2024-04-20 06:29:37 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: 文件inforreadiftsvline选项卡
1条回答
网友
1楼 · 发布于 2024-04-20 06:29:37

您可以打开文档读取/迭代它并过滤掉不需要的行,然后以write方式打开它并将数据写回

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)

相关问题 更多 >