如何在 Python 中讀取 CSV 檔案?
CSV 檔案代表逗號分隔值檔案。它是一個純文字檔案,其中資料值用逗號分隔,因此以純文字的形式表示表格資料,並藉助逗號進行分隔。CSV 檔案具有 .csv 副檔名。
以下是 CSV 檔案的外觀:
Sr.No,Name,City,Age 1,Rahul,Kolkata,21 2,Karan,Amritsar,23 3,Priya,Bangalore,20
要建立 CSV 檔案,您只需在記事本中以上述格式編寫檔案,並將其儲存為 .csv 副檔名即可。
在 Python 中讀取 CSV 檔案
儲存在系統本地儲存中的 csv 檔案可以使用 Python 讀取。
我們需要在 Python 中匯入 csv 模組。然後我們需要以讀取模式開啟檔案,因為我們需要從檔案中讀取資料。csv.reader() 函式用於讀取 CSV 檔案中的資料。csv.reader() 返回一個可迭代的讀取器物件。我們需要遍歷返回的可迭代讀取器物件來處理 csv 檔案的內容。
實現
讓我們有一個名為“ttp.csv”的 csv 檔案儲存在我們的本地系統中。檔案內容在上面的示例中顯示。我們需要讀取此檔案的內容並逐行列印檔案的內容。
示例
import csv with open('ttp.csv','r')as file: filecontent=csv.reader(file) for row in filecontent: print(row)
注意:確保 csv 檔案和 Python 程式位於系統中的同一位置,即同一資料夾中。
輸出
['Sr.No', 'Name', 'City', 'Age'] ['1', 'Rahul', 'Kolkata', '21'] ['2', 'Karan', 'Amritsar', '23'] ['3', 'Priya', 'Bangalore', '20']
逐行解釋
import csv - 需要在 Python 中匯入 csv 模組,以便使用此模組中包含的函式來讀取檔案。
使用 open() 開啟檔案。open() 接受兩個引數,檔名和要開啟它的模式。這裡的模式是“r”,因為我們需要讀取檔案。
使用 csv.reader() 讀取檔案內容。這將返回一個可迭代的讀取器物件,該物件將返回到一個變數。
遍歷 filecontents 以逐行列印檔案內容。
csv 檔案和讀取它的 Python 程式必須位於同一位置。
要求 csv 檔案和 Python 程式位於同一位置或本地系統中的同一資料夾中。如果檔案位於其他位置,則會引發異常並給出以下輸出。
Traceback (most recent call last): with open('ttp.csv','r')as file: FileNotFoundError: [Errno 2] No such file or directory: 'ttp.csv'
使用自定義分隔符讀取 CSV 檔案
逗號不是 csv 檔案中唯一使用的分隔符。其他使用的分隔符是:、;、| 等。如果使用其他分隔符而不是逗號,我們需要相應地修改程式碼。
實現
假設在上面的 csv 檔案中,使用的分隔符是“:”而不是逗號。因此程式碼將修改如下:
示例
import csv with open('ttp.csv','r')as file: filecontent=csv.reader(file,delimiter=':') for row in filecontent: print(row)
輸出
['Sr', 'No', 'Name', 'City', 'Age'] ['1', 'Rahul', 'Kolkata', '21'] ['2', 'Karan', 'Amritsar', '23'] ['3', 'Priya', 'Bangalore', '20']
程式碼中唯一的修改是在 csv.reader() 中指定 csv 檔案中使用的分隔符。如果使用的分隔符是“|”,則需要在程式碼中將其指定為分隔符。
如果未指定,則預設情況下程式碼只會將逗號視為分隔符,並且由於檔案中不存在逗號,因此整行將被視為單個專案。
如果未在上述程式碼中為上述使用“:”分隔符的檔案指定分隔符,則會產生以下錯誤輸出。
['Sr:No:Name:City:Age'] ['1:Rahul:Kolkata:21'] ['2:Karan:Amritsar:23'] ['3:Priya:Bangalore:20']
如上述輸出所示,整行被視為單個專案。