2021-08-09に投稿

Python 標準ライブラリ csv CSVファイル

ライブラリcsvを使うと、CSVファイルの読み込み・書き込みを行える。

CSVファイルの書き込み

csv.writerでCSVファイルに書き込むためのwriterオブジェクトを取得できる。

writerowで1行、writerowsで指定した行分の書き込みを行う。
引数には配列を指定する。

import csv

with open('sample.csv', 'w', newline='', encoding= 'utf-8') as f:
    w = csv.writer(f)
    w.writerow(['Name', 'Age', 'Type'])
    w.writerow(['太郎', 20, 'AAA'])

    rows = list()
    rows.append(['次郎', 35, 'BBB'])
    rows.append(['花子', 30, 'AAA'])
    w.writerows(rows)

csv.DictWriterで、列名を指定する形式でのCSVファイル書き込みを行える。

with open('sample2.csv', 'w', newline='', encoding= 'utf-8') as f:
    fieldnames = ['Name', 'Age', 'Type']
    w = csv.DictWriter(f, fieldnames=fieldnames)

    w.writeheader()
    w.writerow({'Name':'太郎', 'Age':20, 'Type':'AAA'})

    rows = list()
    rows.append({'Name':'次郎', 'Age':35, 'Type':'BBB'})
    rows.append({'Name':'花子', 'Age':30, 'Type':'AAA'})
    w.writerows(rows)

CSVファイル読み込み

csv.readerでCSVファイル読み込み用のreaderオブジェクトを取得できる。

with open('sample.csv', 'r', newline='', encoding= 'utf-8') as f:
    r = csv.reader(f)
    for line in r:
        print(r.line_num)
        print(','.join(line)) 

csv.DictReaderで、列名を指定する形式でのCSVファイル読み込みを行える。

with open('sample.csv', 'r', newline='', encoding= 'utf-8') as f:
    r = csv.DictReader(f)
    for line in r:
        print(r.line_num)
        print(line)
        print(line['Name'])

参考

Originally published at marusankakusikaku.jp
ツイッターでシェア
みんなに共有、忘れないようにメモ

maru3kaku4kaku

Pythonこつこつ学習中。よく忘れる。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント