技術干貨:Python解析CSV


1. 什么是CSV

CSV(Commma-Separated Value)是都好分隔符,其文件以純文本形式存儲表格數據(數字和文本)。

案例:

2. 為什么要使用CSV

與專有的二進制文件格式截然不同,CSV通常用於在在電子表格軟件和純文本之間交互數據. 實際上,CSV都不算是一個真正的結構化數據,CSV文件內容僅僅是一些用逗號分隔的原始字符串值.

聽起來好像很容易解析CSV文件,是嗎? 可能不假所思地認只須調用str.split(",")即可. 但不能夠這樣做,因為有些字段可能含有嵌套的逗號,因此需要專門用於解析和生成CSV的庫,如Python的csv庫.

3. 案例

通過將源碼時代的學科數據,以CSV格式輸出到文件中,接着將同樣的數據讀出來顯示在控制台上。

4. 逐行解析

第1~10行

首先導入CSV模塊. 緊接着就是數據集的導入語句. 該數據集是四元組,每個元組占用一列. 分別是學科編號, 學科 ,開班時間, 預計人數.

第12~17行

這一部分,csv.reader()函數與csv.writer()相反,用於返回一個可迭代對象,可以讀取該對象並且解析為CSV數據的每一行. 與csv.writer()類似,csv.reader()也使用一個已打開文件的句柄,返回一個reader對象. 當逐行迭代數據時,CSV數據會自動解析並且返回給用戶. 逐行顯示數據處理完畢之后關閉文件.

除了csv.reader()和csv.write()之外,csv模塊也提供了csv.DictReader類和csv.DictWriter類,用於將CSV數據都進到字典中(首先檢查是否使用給定字段名,如果沒有,就使用第一行作為鍵),接着講字典字段寫入CSV文件中.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM