使用Python移除csv文件中包含特定文本的行

olhwl3o2  于 2023-01-22  发布在  Python
关注(0)|答案(2)|浏览(123)

我有一个由3500多行组成的基因组数据集。我需要从其中删除两列中的行(“长度”和“蛋白质名称”)。我如何指定用于此目的的条件。

import csv #importing the csv module or method

#opening a new csv file 
file = open('C:\\Users\\Admin\\Downloads\\csv.csv', 'r')
type(file)

#reading the csv file 
csvreader = csv.reader(file)
header = []
header = next(csvreader)
print(header)

#extracting rows from the csv file
rows = []
for row in csvreader:
    rows.append(row)
print(rows)

我是python生物信息学数据分析的初学者,没有尝试过任何广泛的方法,我不知道如何从这里进行,我已经做了打开和阅读csv文件的工作,我也提取了列标题,但我不知道如何从这里进行,请帮助。

b1uwtaje

b1uwtaje1#

试试这个:

csvreader= csvreader[csvreader["columnName"].str.contains("string to delete") == False]
xv8emn3q

xv8emn3q2#

这将是更好地阅读scv在Pandas,因为你有很多行。这将是明智的决定作出。并设置您的条件变量,您将使用来执行操作。如果这没有帮助。我会建议您提供一个样本数据,您的scv文件。

df = pd.read_csv('C:\\Users\\Admin\\Downloads\\csv.csv')

length = 10
protein_name = "replace with protain name"

df = df[(df["Length"] > length) & (df["Protein Name"] != protein_name)]
print(df)

如果需要,可以将df保存回scv文件:

df.to_csv("'C:\\Users\\Admin\\Downloads\\new_csv.csv'", index=False)

相关问题