Python csv模組學習

來源:互聯網
上載者:User

標籤:python

Introduce

CSV (Cmma-Separated Values)是逗號分隔值(也稱字元分隔值,因為分隔字元可以不是逗號)的簡寫。是一種常用的文字格式設定,用以儲存表格式資料,包括數字或者字元。

純文字意味著該檔案是一個字元序列,不含必須像位元字那樣被解讀的資料。CSV檔案由任意數目的記錄組成,記錄間以某種分行符號分隔;每條記錄由欄位組成,欄位間的分隔字元是其它字元或字串,最常見的是逗號或定位字元。通常,所有記錄都有完全相同的欄位序列。

本文通過例子簡單介紹csv模組中最常用的一些函數。

更多內容見官網:https://docs.python.org/2/library/csv.html

Getting Start

python中的csv模組的主要函數有下面兩個:

  1. csv.reader(csvfile, dialect=‘excel‘, **fmtparams)

    • 傳回值:一個reader對象,這個對象是可以迭代的,有個line_num參數,表示當前行數
    • 參數表:
      • csvfile
        需要是支援迭代(Iterator)的對象,並且每次調用next方法的傳回值是字串(string),通常的檔案(file)對象,或者列表(list)對象都是適用的
      • dialect
        編碼風格,預設為excel方式,也就是逗號(,)分隔,另外csv模組也支援excel-tab風格,也就是定位字元(tab)分隔。其它的方式需要自己定義,然後可以調用register_dialect方法來註冊,以及list_dialects方法來查詢登入的所有編碼風格列表。
      • fmtparam
        格式化參數,用來覆蓋之前dialect對象指定的編碼風格。
  2. csv.writer(csvfile, dialect=‘excel‘, **fmtparams)

    • 傳回值:返回一個writer對象,這個對象有兩個函數writerow()和writerows()
    • 參數表:跟csv.reader()的參數表一樣

樣本

import csv# 讀取一個 csv 檔案myfilepath = ‘C:/Users/a/Desktop/mytablib.csvNew‘# 這裡用到的 open 都要加上 newline=‘‘ 否則會多一個分行符號(標準庫文檔裡說的)myfile = open(myfilepath, ‘r‘, newline=‘‘)myreader = csv.reader(myfile)for row in myreader:    if myreader.line_num == 1 : # line_num是從 1 開始計數的        continue    for i in row : # row是一個列表        print(i, end=‘ ‘)    print()myfile.close() # 記得 close 檔案# 寫入一個已經存在的檔案myfile = open(myfilepath, ‘a‘, newline=‘‘) # 使用append模式開啟檔案mywriter = csv.writer(myfile)mywriter.writerow((3, ‘wang‘, 25)) # 加入一行mywriter.writerow((4, ‘zhou‘, 38))mywriter.writerows([[5, ‘zhao‘, 16],[6, ‘qian‘, 28]]) # 加入多行myfile.close()

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Python csv模組學習

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.