如何用 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 檔案中刪除一行或多行。

更新於:2023年5月12日

19K+ 次檢視

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.