教你如何在Python中讀,寫和解析CSV文
文章推薦指數: 80 %
在這裡,從輸出中可以看到,我已經使用了Titanic CSV File。
並且所有欄位都用逗號分隔,檔案被讀入Python。
繼續前進,讓我們看看如何寫入CSV檔案。
MdEditor
教你如何在Python中讀,寫和解析CSV文
語言:CN/TW/HK
時間 2021-02-2512:01:51
華為雲開發者社群
主題:
python
titanic
開春大禮《華為雲技術精選集》大廠100+前沿技術實戰分享!>>>
摘要:在這篇文章中關於“在Python如何閱讀CSV檔案”中,我們將學習如何讀,寫和解析的CSV檔案的Python。
您知道將表格資料儲存到純文字檔案背後的機制是什麼嗎?答案是CSV(逗號分隔值)檔案,該檔案允許將資料轉換為純文字格式。
在這篇文章中關於“在Python如何閱讀CSV檔案”中,我們將學習如何讀,寫和解析的CSV檔案的Python。
將詳細討論以下方面:
什麼是CSV檔案及其用途?
為什麼使用CSV檔案格式?
PythonCSV模組
CSV模組功能
在Python中執行寫入,讀取CSV檔案的操作
讓我們開始吧。
什麼是CSV檔案及其用途?
CSV(逗號分隔值)是一種純文字檔案格式,用於儲存表格資料(例如電子表格或資料庫)。
它本質上儲存的表格資料包括數字和純文字。
大多數線上服務使使用者可以自由地將網站中的資料匯出為CSV檔案格式。
CSV檔案通常會在Excel中開啟,幾乎所有資料庫都具有不同的特定工具以允許匯入相同的檔案。
檔案的每一行都稱為記錄。
每個記錄由用逗號分隔 的欄位組成,這些欄位也稱為“定界符”,這是預設定界符,其他記錄包括pipe(|),分號(;)。
下面給出的是一個普通CSV檔案的結構,以逗號分隔,我正在使用一個泰坦尼克號CSV檔案。
結構
Passenger,Id,Survived,Pclass,Name,Sex.Age
1,0,3Braund,Mr.OwenHarris,male,22
2,1,1Cumings,Mrs.JohnBradley(FlorenceBriggsThayer),female,38
3,1,3Heikkinen,Miss.Laina,female,26
4,1,1Futrelle,Mrs.JacquesHeath(LilyMayPeel),female,35
繼續說說使用CSV檔案格式的原因。
為什麼使用CSV檔案格式?
CSV是純文字檔案,它使資料交換更容易,也更易於匯入到電子表格或資料庫儲存中。
例如:您可能希望將某個統計分析的資料匯出到CSV檔案,然後將其匯入電子表格以進行進一步分析。
總體而言,它使使用者可以通過程式設計輕鬆地體驗工作。
任何支援文字檔案或字串操作的語言(例如Python)都可以直接使用CSV檔案。
繼續前進,讓我們看看Python如何原生使用CSV。
PythonCSV模組
Python使用的CSV軟體包是標準庫的一部分,因此您無需安裝它。
importcsv
現在,讓我向您展示不同的CSV功能。
CSV模組功能
在CSV模組下,您可以找到以下功能:
讓我們繼續前進,從PythonCSV檔案上不同操作的編碼角度來看。
Python中CSV檔案的操作
載入CSV檔案後,您可以執行多種操作。
我將在Python中顯示對CSV檔案的讀取和寫入操作。
在Python中讀取CSV檔案:
importcsv
withopen('Titanic.csv','r')ascsv_file:#Opensthefileinreadmode
csv_reader=csv.reader(csv_file)#Makinguseofreadermethodforreadingthefile
forlineincsv_reader:#Iteratethroughthelooptoreadlinebyline
print(line)
輸出:
在這裡,從輸出中可以看到,我已經使用了TitanicCSVFile。
並且所有欄位都用逗號分隔,檔案被讀入Python。
繼續前進,讓我們看看如何寫入CSV檔案。
用Python寫入CSV檔案:
importcsv
withopen('Titanic.csv','r')ascsv_file:
csv_reader=csv.reader(csv_file)
withopen('new_Titanic.csv','w')asnew_file:#Openanewfilenamed'new_titanic.csv'underwritemode
csv_writer=csv.writer(new_file,delimiter=';')#makinguseofwritemethod
forlineincsv_reader:#foreachfileincsv_reader
csv_writer.writerow(line)#writingouttoanewfilefromeachlineoftheoriginalfile
out:
現在,這種使用讀寫器方法處理CSV檔案的方法是最常見的方法之一。
讓我們繼續前進,看看如何使用python字典來做同樣的事情。
讀取CSV檔案作為字典:
importcsv
withopen('Titanic.csv','r')ascsv_file:#Openthefileinreadmode
csv_reader=csv.DictReader(csv_file)#usedictreadermethodtoreadethefileindictionary
forlineincsv_reader:#Iteratethroughthelooptoreadlinebyline
print(line)
輸出:
從輸出中可以看到,欄位已被替換,它們現在充當字典的“鍵”。
讓我們看看如何將CSV檔案作為字典寫入。
作為字典寫入CSV檔案
importcsv
mydict=[{'Passenger':'1','Id':'0','Survived':'3'},#key-valuepairsasdictionaryobj
{'Passenger':'2','Id':'1','Survived':'1'},
{'Passenger':'3','Id':'1','Survived':'3'}]
fields=['Passenger','Id','Survived']#fieldnames
filename='new_Titanic.csv'#nameofcsvfile
withopen('new_Titanic.csv','w')asnew_csv_file:#openanewfile'new_titanic,csv'underwritemode
writer=csv.DictWriter(new_csv_file,fieldnames=fields)
writer.writeheader()#writingtheheaders(fieldnames)
writer.writerows(mydict)#writingdatarows
輸出:
讓我們看看如何在python中將CSV檔案讀取為熊貓。
以熊貓格式讀取CSV檔案:
importpandas#installpandaspackage
result=pandas.read_csv('Titanic.csv')#readthecsvfile
print(result)#printresult
輸出:
這使我們到文章“如何在Python中讀取CSV檔案”的結尾。
我希望您對與CSV相關的所有概念,如何讀寫它,如何將CSV作為字典進行讀寫以及如何將CSV作為熊貓進行閱讀都一目瞭然。
確保儘可能多地練習並恢復經驗。
本文分享自華為雲社群《如何在Python中讀取CSV檔案?》,原文作者:Yuchuan。
點選關注,第一時間瞭解華為雲新鮮技術~
「其他文章」
帶你掌握C中三種類成員初始化方式
實踐GoF的設計模式:工廠方法模式
DCM:一個能夠改善所有應用資料互動場景的中介軟體新秀
手繪圖解java類載入原理
關於加密通道規範,你真正用的是TLS,而非SSL
程式碼重構,真的只有複雜化一條路嗎?
解讀分散式排程平臺Airflow在華為雲MRS中的實踐
透過例項demo帶你認識gRPC
帶你聚焦GaussDB(DWS)儲存時遊標使用
傳統到敏捷的轉型中,誰更適合做ScrumMaster?
輕鬆解決研發知識管理難題
Java中觀察者模式與委託,還在傻傻分不清
如何使用Python實現影象融合及加法運算?
什麼是強化學習?
探索開源工作流引擎Azkaban在MRS中的實踐
GaussDB(DWS)NOTIN優化技術解密:排他分析場景400倍效能提升
Java中觀察者模式與委託,還在傻傻分不清
Java中的執行緒到底有哪些安全策略
一圖詳解java-class類檔案原理
Java中的執行緒到底有哪些安全策略
「python」
臥槽!GitHub排行榜即將下線;酷炫的Python熱過載工具;開發者體驗·電子書;C最佳實踐合輯;前沿論文|ShowMeAI資訊日報
「Python」sklearn第一彈-標準化和非線性轉化
python指令碼第一彈——Excel處理
Python3.12目標:還可以更快!
python-django官方教程手把手(二)-連線資料庫
如果你需要用Python搞個二維碼,那應該收藏這篇部落格
Python實現定時任務的利器apscheduler
Python語法之集合
Python語法之迴圈
每個程式設計師都應該知道的高階Python技術
「titanic」
俄羅斯BitblazeTitanBM15膝上型電腦已預生產,搭載其國產Baikal-M1處理器
新泰坦將至,微星TitanGT77旗艦遊戲本現身Geekbench,搭載16核i7-12800HX
極講究・四月好物名單:BMWi7、TitanSlim全鍵盤手機、憤怒的小鳥重製版、Apple雷靂4Pro連線線
在Android13Beta上攻破TitanM晶片,谷歌將提供近1000萬元賞金
一年內原團隊幾乎分崩離析:蘋果自動駕駛汽車團隊又一位經理跳槽Meta,ProjectTitan專案再遭挫折
發力Titan造車專案蘋果聘請前特斯拉自動駕駛軟體主管
2021年最佳3D渲染GPU
整理了25個Pandas實用技巧(下)
美商艾湃電競TITAN泰坦360一體式水冷散熱器開箱
獵金部落TITANTF600電源圖賞:適合主流玩家的迷你電源
延伸文章資訊
- 1如何在Python 中把列表寫入CSV
可以使用Python 列表值來編寫csv 檔案。像csv.writer()、writerow()、pandas 和numpy 庫這樣的方法都是用於這個目的的。
- 2使用python中的csv模块写入特定单元格 - CSDN博客
csv module提供了读取和写入csv文件的工具,但不允许在适当位置修改特定单元.即使您在问题中突出显示的csvwriter.writerow(行)方法也不允许您识别和 ...
- 3csv --- CSV 文件读写— Python 3.10.7 說明文件
- 4如何在Python|中讀取CSV檔CSV 檔案讀取和寫入 - LearnCode01
下載CSV 資料Python CSV 模組Python 提供了一個CSV 模組來處理CSV 檔。 ... csv.field_size_limit – 傳回最大欄位大小; csv.get_dia...
- 52022python讀取csv特定欄位-大學國高中升學考試資訊
2022python讀取csv特定欄位-大學國高中升學,精選在PTT/MOBILE01/Dcard資訊討論,找python讀取csv特定欄位,python write csv換行,python輸...