GIS奮闘記

元GISエンジニアの技術紹介ブログ。主にPythonを使用。

スポンサーリンク

Python でリストを CSV 出力する方法

さて、今回は Python でリストを CSV 出力する方法を紹介しようと思います。単純に一次元のリストだけではなく、多次元のリストにも対応したソースを紹介しますので、興味のある方はぜひ読んでみてください。

環境

Windows 10
Python 3.6.5

出力するデータ

すごく単純なデータですが、[1,2,3]と [[1,2,3],[4,5,6],[7,8,9]]というデータを CSV 出力してみようと思います。

使用するライブラリ

csv というPython の標準ライブラリを使用します。

サンプル

一次元と多次元のリストを CSV 出力するサンプルです。

# -*- coding: utf-8 -*-
import csv

def export_list_csv(export_list, csv_dir):

    with open(csv_dir, "w") as f:
        writer = csv.writer(f, lineterminator='\n')

        if isinstance(export_list[0], list): #多次元の場合
            writer.writerows(export_list)

        else:
            writer.writerow(export_list)

def make_list():
    one_dimensional_list = [1,2,3]
    two_dimensional_list = [[1,2,3],[4,5,6],[7,8,9]]

    export_list_csv(one_dimensional_list, r"D:\data\one_dimensional_list.csv")
    export_list_csv(two_dimensional_list, r"D:\data\one_dimensional_list.csv")

if __name__ == '__main__':
    make_list()
  • ポイント
    if isinstance(export_list[0], list): で多次元かどうかを判別しています。意外と便利な isinstance() ですね。

結果

EXCEL で出力した CSV を開いてみました。想定通りの結果が得られました。

f:id:sanvarie:20190928121345p:plain

f:id:sanvarie:20190928121401p:plain

今後は こういった Python の小ネタ集も作っていきたいと思いますので、ぜひ読んでみてください。