搜尋
首頁後端開發Python教學使用Python使用CSV文件,並示例

使用Python使用CSV文件,並示例

鑰匙要點

    Python的內置CSV模塊提供了以CSV格式閱讀,寫作和處理數據的功能和類。 CSV.Reader()函數可用於讀取CSV文件,而CSV.WRITER()允許將數據寫入CSV文件。
  • 。 CSV文件可以使用Python的csv.dictreader類轉換為JSON格式,該類別將CSV文件轉換為Python詞典。然後可以使用json.dump()函數將字典轉換為JSON文件。
  • > 可以通過首先使用JSON.LOAD()函數將JSON文件轉換為Python字典來將JSON文件轉換為CSV格式。然後可以使用CSV.DICTWRITER類方法將字典轉換為CSV文件。
  • CSV文件通常用於電子表格和數據庫中的數據導入和導出。 Python的CSV模塊簡化了使用CSV文件,並將其轉換為其他格式,例如JSON。
  • >在本文中,我們將學習如何使用Python從CSV文件中讀取和寫入數據,以及如何將CSV文件轉換為JSON格式,反之亦然。我們將探索如何使用CSV模塊,並查看有助於了解其工作原理的示例。
  • a csv(逗號分隔值)文件是一種文本文件格式,允許數據保存在表格結構中。這是一種流行的格式,用於從數據庫和電子表格導出和導入數據。
>顧名思義,CSV文件中的每個數據都由逗號(,)分開。有時,“ CSV”一詞可用於描述其他類型的分離器,例如結腸(:),semicolons(;)和tabs(t)。出於本文的目的,我們將處理使用逗號作為定界符(稱為RFC 4180)的CSV文件。

打開時,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文件無縫。

如何使用Python讀取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文件

>除了從CSV文件中讀取數據外,我們還可以在Python中將數據寫入這些文件。 csv.writer()函數使我們能夠將數據寫入CSV格式。在寫入模式下打開文件後,csv.writer()函數返回一個作者對象,該對象將所提供的數據轉換為提供的文件對像上的劃界字符串。作者對象具有編寫一行的作者()方法(每次逗號或逗號分隔值的數量),而Writerows()方法一次用於多行。 writerow()和writerows()方法是將數據編寫到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>

> csv.dictreader類方法有助於在應用

json

模塊的json.dump()函數之前將給定的CSV文件轉換為Python字典,以將結果Python字典轉換為JSON文件。 csv.dictreader()類採用可選的字段名稱參數。省略字段名稱的地方,第一行的值將映射到其餘數據為字段名稱。 讓我們來看看一個示例:

這是上述代碼的輸出:

>要將CSV文件轉換為JSON等效,我們應用了以下步驟:>
  • >在讀取模式下打開員工。
  • >使用csv.dictreader類返回的文件對象創建了Python字典
  • >在寫入模式下打開一個JSON文件,例如員工。
  • >使用
  • json
  • 模塊的dump()函數將python字典(my_dict)轉換為json文件>
  • 如何使用python
將JSON轉換為CSV 在本節中,我們將研究如何將數據從JSON文件轉換為CSV格式。為了實現這一目標,我們將同時使用內置的

csv

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文件files_records.csv(如果沒有這樣的文件,將創建一個文件)
  • >使用CSV.DICTWRITER類創建一個帶有必要參數的作者對象>使用作者對象方法將詞典映射到適當的行數
  • >
  • 結論
  • > CSV文件非常受歡迎,並且經常用於導出和導入電子表格和數據庫。使用數據的人經常使用此文件格式。但是,在使用Python進行編程時,可能需要快速使用CSV文件,因此學習如何使用CSV執行文件I/O操作很重要。
python's

csv

模塊非常方便地使用CSV文件,因為它為這類任務提供了必要的功能和類。 >

>也必須注意,我們可能需要將文件從一種格式轉換為另一種格式(CSV至JSON),如上所述。

經常詢問有關Python CSV文件的問題(常見問題解答)

>如何處理python中的大型CSV文件?但是,Python的內置CSV模塊提供了一種在較小的塊中讀取和編寫CSV文件的方法,從而使使用大型文件可以使用。您可以在循環中使用讀取器對像一次讀取特定數量的行。這樣,您可以在較小,更易於管理的塊中處理一個大文件。

>如何在Python中寫入CSV文件?

>寫入python中的CSV文件,與Python直接使用CSV模塊。您可以使用作者對象及其作者方法來編寫單行,也可以一次寫入多行。請記住在寫入之前以寫入模式打開文件。

>

>如何在Python中使用不同的定係數來處理CSV文件?讀者和作者對象採用定界符參數,您可以將其設置為CSV文件用作定界器的任何字符。

如何使用Python中的標頭(

)處理CSV文件?您的CSV文件包含一個標題行,您可以使用CSV模塊中的Dictreader對象讀取文件。該對象將每一行視為詞典,其中鍵是標題行中的列名,並且值是每個行中的數據。

>

>如何使用Python中的引用字段來處理CSV文件? >

>如何處理Python中的特殊字符的CSV文件?

>

>如果您的CSV文件包含特殊字符,則可以通過以二進制模式打開文件並使用Unicodecsv模塊而不是內置CSV模塊來處理它們。該模塊就像CSV模塊一樣工作,但它支持Unicode字符。

如何使用PANDAS處理CSV文件中的CSV文件,而Python中缺少值的CSV文件? Python的圖書館。您可以將CSV文件讀取到dataFrame中,然後使用fillna方法填充缺少值或計算值的值。

>如何將CSV文件轉換為Python中的其他格式?

如何通過Python中的特定列對CSV文件進行分類? >

>您可以使用Python中的Pandas庫通過特定列對CSV文件進行排序。在將CSV文件讀取到數據框中後,您可以使用sort_values方法按一個或多個列對數據框進行排序。

如何根據python的條件過濾CSV文件中的行?

>您可以使用Python中的PANDAS庫中的條件過濾CSV文件中的行。將CSV文件讀取到數據框中後,您可以使用布爾索引根據條件過濾數據框。

以上是使用Python使用CSV文件,並示例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python:編譯器還是解釋器?Python:編譯器還是解釋器?May 13, 2025 am 12:10 AM

Python是解釋型語言,但也包含編譯過程。 1)Python代碼先編譯成字節碼。 2)字節碼由Python虛擬機解釋執行。 3)這種混合機制使Python既靈活又高效,但執行速度不如完全編譯型語言。

python用於循環與循環時:何時使用哪個?python用於循環與循環時:何時使用哪個?May 13, 2025 am 12:07 AM

UseeAforloopWheniteratingOveraseQuenceOrforAspecificnumberoftimes; useAwhiLeLoopWhenconTinuingUntilAcIntiment.forloopsareIdealForkNownsences,而WhileLeleLeleLeleLeleLoopSituationSituationsItuationsItuationSuationSituationswithUndEtermentersitations。

Python循環:最常見的錯誤Python循環:最常見的錯誤May 13, 2025 am 12:07 AM

pythonloopscanleadtoerrorslikeinfiniteloops,modifyingListsDuringteritation,逐個偏置,零indexingissues,andnestedloopineflinefficiencies

對於循環和python中的循環時:每個循環的優點是什麼?對於循環和python中的循環時:每個循環的優點是什麼?May 13, 2025 am 12:01 AM

forloopsareadvantageousforknowniterations and sequests,供應模擬性和可讀性;而LileLoopSareIdealFordyNamicConcitionSandunknowniterations,提供ControloperRoverTermination.1)forloopsareperfectForeTectForeTerToratingOrtratingRiteratingOrtratingRitterlistlistslists,callings conspass,calplace,cal,ofstrings ofstrings,orstrings,orstrings,orstrings ofcces

Python:深入研究彙編和解釋Python:深入研究彙編和解釋May 12, 2025 am 12:14 AM

pythonisehybridmodeLofCompilation和interpretation:1)thepythoninterpretercompilesourcecececodeintoplatform- interpententbybytecode.2)thepythonvirtualmachine(pvm)thenexecutecutestestestestestesthisbytecode,ballancingEaseofuseEfuseWithPerformance。

Python是一種解釋或編譯語言,為什麼重要?Python是一種解釋或編譯語言,為什麼重要?May 12, 2025 am 12:09 AM

pythonisbothinterpretedAndCompiled.1)它的compiledTobyTecodeForportabilityAcrosplatforms.2)bytecodeisthenInterpreted,允許fordingfordforderynamictynamictymictymictymictyandrapiddefupment,儘管Ititmaybeslowerthananeflowerthanancompiledcompiledlanguages。

對於python中的循環時循環與循環:解釋了關鍵差異對於python中的循環時循環與循環:解釋了關鍵差異May 12, 2025 am 12:08 AM

在您的知識之際,而foroopsareideal insinAdvance中,而WhileLoopSareBetterForsituations則youneedtoloopuntilaconditionismet

循環時:實用指南循環時:實用指南May 12, 2025 am 12:07 AM

ForboopSareSusedwhenthentheneMberofiterationsiskNownInAdvance,而WhileLoopSareSareDestrationsDepportonAcondition.1)ForloopSareIdealForiteratingOverSequencesLikelistSorarrays.2)whileLeleLooleSuitableApeableableableableableableforscenarioscenarioswhereTheLeTheLeTheLeTeLoopContinusunuesuntilaspecificiccificcificCondond

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具