Python csvモジュール学習

3190 ワード

Introduce
CSV(Cmma-Separated Value)は、カンマ区切り値(カンマでなくてもよいため、文字区切り値とも呼ばれる)の略語である.は、数値または文字を含むテーブルデータを格納するためによく使用されるテキスト形式です.
純粋なテキストは、ファイルが2進数のように解読されなければならないデータを含まない文字シーケンスであることを意味します.CSVファイルは任意の数の記録からなり、記録間はある改行文字で区切られている.各レコードはフィールドで構成され、フィールド間の区切り記号は他の文字または文字列であり、最も一般的なのはカンマまたはタブです.通常、すべてのレコードにはまったく同じフィールドシーケンスがあります.
本稿では,csvモジュールで最もよく用いられるいくつかの関数を例によって簡単に紹介する.
詳細は公式サイトを参照してください.https://docs.python.org/2/library/csv.html
Getting Start
pythonのcsvモジュールの主な関数は、次の2つです.
  • csv.reader(csvfile, dialect='excel', **fmtparams)
  • 戻り値:反復可能なreaderオブジェクト、line_numパラメータ、現在の行数
  • を表す
  • パラメータ表:
  • csvfileは反復をサポートするオブジェクトである必要があり、nextメソッドを呼び出すたびに返される値は文字列(string)、通常のファイル(file)オブジェクト、またはリスト(list)オブジェクトが適用される
  • である必要がある.
  • dialect符号化スタイルは、デフォルトではexcel方式、すなわちカンマ(,)区切りであり、またcsvモジュールはexcel-tabスタイル、すなわちタブ区切りをサポートする.他の方法は自分で定義してregisterを呼び出す必要があります.dialectメソッドで登録し、list_dialectsメソッドは、登録されているすべての符号化スタイルのリストをクエリーします.
  • fmtparamフォーマットパラメータは、以前dialectオブジェクトで指定された符号化スタイルを上書きするために使用されます.


  • csv.writer(csvfile, dialect='excel', **fmtparams)
  • 戻り値:2つの関数writerow()とwriterows()の
  • を持つwriterオブジェクトを返します.
  • パラメータ表: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()