打開時,csv文件的內容如下:
>
>如上所述,逗號定界符,、,用來將文件中的每個特定數據分開。
>>第一行數據可以選擇用作標題,並識別其下面的每一列數據。 CSV文件通常用.CSV文件擴展名保存。
Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team 1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing 2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,, 3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance 4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,Finance> CSV模塊
>可以將電子表格和數據庫(如MS SQL)導入並導出為CSV文件,因此重要的是要知道如何以編程方式處理CSV格式的數據。大多數編程語言(如Python)支持CSV中的處理文件,並將其轉換為JSON等其他格式。
Python提供了用於讀取,編寫和執行其他形式的文件處理的模塊,以CSV格式讀取和執行其他形式的文件。內置庫提供的功能和類,使使用CSV文件無縫。
>> csv 模塊具有用於讀取CSV文件的csv.reader()函數。它與對象(包括文件對象)一起使用,例如使用Python的In-In-op-Open()函數生成的對象。
>從呼叫打開()中給定的文件對象,csv.reader()將返回讀取器對象。讀取器對象可以用來迭代CSV數據的每一行,其中行返回作為字符串列表。
讓我們以一個例子:
Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team 1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing 2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,, 3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance 4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,Finance這是上述代碼的輸出:
>在第一個代碼段中,打開了員工。 csv文件,然後csv.reader()函數解析並返回讀取器對象。一個簡單的循環用於迭代讀取器對象,該對像從employ.csv文件中返回每行數據列表,從頂部開始。
<span>import csv </span> <span>with open('employees.csv', newline='') as file_obj: </span> reader_obj <span>= csv.reader(file_obj) </span> <span>for row in reader_obj: </span> <span>print(row) </span>
如何使用Python
寫入CSV文件>上面的代碼段中使用的所有列表對像都可以分組為2D列表,並將其作為參數傳遞給Writerows()作者對象的writer()方法以實現相同的結果。
執行使用語句後,在包含這些逗號分隔的當前工作目錄中創建了一個CSV文件(products.csv)。這是一個示例:
這是上述代碼的輸出:
如何使用python
<span>['Employee Id', 'First Name', 'Gender', 'Start Date', 'Last Login Time', 'Salary', 'Bonus %', 'Senior Management', 'Team'] </span><span>['1', 'Douglas', 'Male', '8/6/1993', '12:42 PM', '', '6.945', 'TRUE', 'Marketing'] </span><span>['2', 'Thomas', 'Male', '3/31/1996', '6:53 AM', '61933', '4.17', '', ''] </span><span>['3', 'Maria', 'Female', '4/23/1993', '11:17 AM', '', '11.858', 'FALSE', 'Finance'] </span><span>['4', 'Jerry', 'Male', '3/4/2005', '1:00 PM', '138705', '9.34', '', 'Finance'] </span><span>['5', 'Larry', 'Male', '1/24/1998', '4:47 PM', '101004', '1.389', 'TRUE', 'Client Services'] </span><span>... </span>將CSV轉換為JSON 在執行文件I/O操作時,我們可能需要將CSV文件轉換為JSON格式 - 這是在客戶端和服務器之間接收和傳輸數據的流行。
csv
模塊提供了csv.dictreader類,以幫助我們實現這一目標。<span>import csv </span> <span>with open('products.csv', 'w', newline='') as file_obj: </span> writer_obj <span>= csv.writer(file_obj) </span> writer_obj<span>.writerow(['Product Name', 'Price', 'Quantity', 'SKU Number' ]) </span> writer_obj<span>.writerow(['Rice', 80, 35, 'RI59023']) </span> writer_obj<span>.writerow(['Curry', 2, 200, 'CY13890']) </span> writer_obj<span>.writerow(['Milk', 9.5, 315, 'MK10204']) </span>
模塊的json.dump()函數之前將給定的CSV文件轉換為Python字典,以將結果Python字典轉換為JSON文件。 csv.dictreader()類採用可選的字段名稱參數。省略字段名稱的地方,第一行的值將映射到其餘數據為字段名稱。 讓我們來看看一個示例:
這是上述代碼的輸出:
jsonpython模塊。 json模塊的json.load()函數將有助於將json文件轉換為python詞典,而csvcsv 模塊的csv.dictwiter類方法將有助於將python字典轉換為csv file。 這是一個示例:
>要將JSON文件轉換為CSV等效,我們應用了以下步驟:
Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team 1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing 2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,, 3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance 4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,Finance
在讀取模式下打開員工。
>使用JSON.LOAD()函數創建Python字典py_dict>也必須注意,我們可能需要將文件從一種格式轉換為另一種格式(CSV至JSON),如上所述。
經常詢問有關Python CSV文件的問題(常見問題解答)>如何處理python中的大型CSV文件?但是,Python的內置CSV模塊提供了一種在較小的塊中讀取和編寫CSV文件的方法,從而使使用大型文件可以使用。您可以在循環中使用讀取器對像一次讀取特定數量的行。這樣,您可以在較小,更易於管理的塊中處理一個大文件。
>如何在Python中寫入CSV文件?如何使用Python中的標頭(
>如何使用Python中的引用字段來處理CSV文件? >
>如果您的CSV文件包含特殊字符,則可以通過以二進制模式打開文件並使用Unicodecsv模塊而不是內置CSV模塊來處理它們。該模塊就像CSV模塊一樣工作,但它支持Unicode字符。
如何通過Python中的特定列對CSV文件進行分類? >
>您可以使用Python中的Pandas庫通過特定列對CSV文件進行排序。在將CSV文件讀取到數據框中後,您可以使用sort_values方法按一個或多個列對數據框進行排序。>您可以使用Python中的PANDAS庫中的條件過濾CSV文件中的行。將CSV文件讀取到數據框中後,您可以使用布爾索引根據條件過濾數據框。
以上是使用Python使用CSV文件,並示例的詳細內容。更多資訊請關注PHP中文網其他相關文章!