Python 如何删除CSV中的一行数据
在本教程中,我们将学习如何使用Python仅删除CSV中的一行数据。我们将使用Pandas库。Pandas是一个用于数据分析的开源库;它是最流行的Python库之一,用于研究数据和洞察。它包含多个功能,可对数据集执行操作。它可以与其他库(如NumPy)结合使用,以对数据执行特定功能。
我们将使用 drop() 方法从任何CSV文件中删除行数据。在本教程中,我们将使用相同的方法举例说明三个删除CSV文件中行数据的示例。通过本教程结束时,您将熟悉这个概念,并能够从任何CSV文件中删除行数据。
语法
以下是从数组中删除多行的语法。
#drop method
data = pd.read_csv("my file")
data = data.drop(data.index[index_number])
print(data)
在这个语法中,我们首先读取数据帧;然后使用方法通过索引进行删除。最后,我们打印出更新后的数据。
示例1:从Csv文件中删除最后一行
这是一个示例,我们使用drop方法删除了最后一行。首先,我们使用read_csv()将CSV文件读取为数据帧。然后使用drop()方法删除索引为-1的行。我们使用index参数指定要删除的索引。最后,我们使用to_csv()将更新后的数据帧写回CSV文件,设置index=False以避免将索引写入文件。
import pandas as pd
df = pd.read_csv('How_to_delete_only_one_row_in_CSV_with_Python.csv')
df = df.drop(df.index[-1])
df.to_csv('How_to_delete_only_one_row_in_CSV_with_Python.csv', index=False)
输出
运行代码之前的CSV文件
运行代码后的CSV文件 –
示例2:根据标签删除行
这是一个与上面类似的示例;在这个示例中,我们删除了标签为’row’的行。在这个示例中,我们使用read_csv()方法读取CSV文件,但是这次我们使用index_m参数将’id’列设置为索引。然后,我们使用drop()方法根据索引标签’drop’删除行。接下来,我们使用index参数指定要删除的标签。最后,我们使用to_csv()方法将更新后的DataFrame写回CSV文件,由于行标签现在成为CSV文件的一部分,所以不设置index=False。
import pandas as pd
df = pd.read_csv('How_to_delete_only_one_row_in_CSV_with_Python.csv', index_col='id')
df = df.drop('row1')
df.to_csv('How_to_delete_only_one_row_in_CSV_with_Python.csv', index=True)
输出
运行代码前的CSV文件 –
运行代码后的CSV文件 –
示例3:根据条件删除行
在这个示例中,首先我们读取CSV文件,然后使用drop()方法删除’Name’列中值等于’John’的行。我们通过使用布尔索引选择满足条件的行来实现删除。最后,我们使用to_csv()将更新后的DataFrame写回CSV文件,再次设置index=False。
import pandas as pd
df = pd.read_csv('example_3.csv')
df = df.drop(df[df.Name == 'Ankita'].index)
df.to_csv('example_3.csv', index=False)
输出
在运行代码之前的CSV文件-
在运行代码之后的CSV文件-
结论
我们学到了pandas是一个强大而灵活的用于数据处理和分析的Python库。它提供高性能的数据结构。我们演示了使用drop方法从CSV文件中删除行。根据需要,我们可以通过索引、标签或条件来指定要删除的行。这个方法允许从CSV文件中删除一个或多个行。