HOWTO · Python
如何在 Python 中逐行寫入 CSV
學習如何使用兩種有效的方法在 Python 中逐行寫入 CSV 檔案:傳統檔案處理和 CSV writer 模組。本綜合指南提供清晰的程式碼範例、詳細的解釋,以及處理 CSV 資料的最佳實踐見解。無論你是初學者還是想要精進技能,本文都將幫助你掌握在 Python 中寫入 CSV 檔案。
本頁內容
將資料寫入 CSV 檔案是資料處理和操作中的一項常見任務。無論你是從資料庫匯出資料、記錄資訊,還是僅僅保存你的工作,了解如何在 Python 中寫入 CSV 檔案都非常有價值。實現這一點主要有兩種方法:傳統檔案處理方法和 CSV writer 方法。這兩種方法各有優勢,理解如何實現它們可以提高你的資料處理技能。
在本文中,我們將詳細探討這兩種方法,提供清晰的範例和解釋,幫助你掌握在 Python 中逐行寫入 CSV 檔案。(csv.writer();writerow())
方法 1:傳統檔案處理
傳統檔案處理方法涉及使用 Python 的內建檔案操作將資料寫入 CSV 檔案。這種方法讓你能對資料的寫入方式有很大的控制權,可以根據需要自訂輸出格式。具體做法如下:
data = [
['Name', 'Age', 'City'],
['Alice', 30, 'New York'],
['Bob', 25, 'Los Angeles'],
['Charlie', 35, 'Chicago']
]
with open('data.csv', 'w') as file:
for line in data:
file.write(','.join(map(str, line)) + '\n')
輸出:
在這種方法中,我們首先將資料定義為一個列表的列表,其中每個子列表代表 CSV 檔案中的一行。我們使用 with 陳述式以寫入模式('w')開啟檔案,這可確保檔案在寫入後正確關閉。在迴圈中,我們將子列表中的每個項轉換為字串(如有必要),並用逗號連接它們。最後,我們附加一個換行字元('\n')來分隔每一行。這種方法簡單直接,讓你可以靈活地按自己的意願格式化輸出。
方法 2:使用 CSV Writer 模組
Python 中的 CSV 模組提供了一種更結構化的處理 CSV 檔案的方式。它自動處理寫入 CSV 檔案所涉及的許多複雜問題,例如處理特殊字元和引號。以下是使用 CSV writer 的方法:
import csv
data = [
['Name', 'Age', 'City'],
['Alice', 30, 'New York'],
['Bob', 25, 'Los Angeles'],
['Charlie', 35, 'Chicago']
]
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
輸出:
在這種方法中,我們匯入 csv 模組並使用 csv.writer 函數建立一個 writer 物件。我們以寫入模式('w')開啟檔案,並指定 newline='' 以防止在 Windows 上出現額外的空行。writerows 方法允許我們一次寫入多行,這比逐行寫入更有效率。這種方法通常因其簡單性和可靠性而受到青睞,尤其是在處理較大的資料集或複雜的資料結構時。
結論
在 Python 中寫入 CSV 檔案可以使用傳統檔案處理或 CSV writer 模組有效地完成。每種方法都有其優勢,兩者之間的選擇通常取決於專案的具體要求。傳統方法在格式化方面提供更多控制,而 CSV 模組簡化了流程並減少了出錯的機會。透過掌握這兩種技術,你可以提高資料操作能力並簡化工作流程。
常見問題
-
什麼是 CSV 檔案?
CSV 檔案是一個純文字檔案,其中包含以表格形式格式化的資料,每列代表一行,每個值以逗號分隔。 -
為什麼應該在 Python 中使用 CSV 模組?
CSV 模組會自動處理特殊字元和引號,從而降低出錯的風險,並使你的程式碼更簡潔、更易於維護。 -
我可以在不覆蓋的情況下寫入現有的 CSV 檔案嗎?
可以,你可以以附加模式('a')而不是寫入模式('w')開啟檔案,以新增資料而不刪除現有內容。 -
如何在 Python 中讀取 CSV 檔案?
你可以使用 CSV 模組的csv.reader函數讀取 CSV 檔案,它允許你輕鬆地遍歷各列。 -
這兩種方法之間有效能差異嗎?
對於較小的資料集,效能差異可以忽略不計。但是,對於較大的資料集,使用 CSV 模組通常更有效率,也更不容易出錯。