如何用 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_col` 参数将“id”列设置为索引。然后,我们使用 `drop()` 方法删除索引标签为“row”的行。然后,我们使用 `index` 参数指定要删除的标签。最后,我们使用 `to_csv()` 将更新后的数据帧写回 CSV 文件,不设置 `index=False`,因为行标签现在是 CSV 文件的一部分。
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()` 将更新后的数据帧写回 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 文件中删除一行或多行。