【Python】2次元リストをファイルとして出力する方法

2次元リストのデータをCSVファイルに出力したいけど、やり方を知らない人もいるでしょう。

この記事では、プログラミング初心者にもわかりやすく、Pythonを使って2次元リストのデータをCSVファイルに出力する方法を解説します。

目次から探す

CSVファイルへの出力方法

Pythonで2次元リストのデータをCSVファイルに出力する方法は主に2つあります。

csvモジュールを使った方法と、pandasライブラリを使った方法です。

それぞれの方法について、基本構文や手順、オプション設定と注意点を解説していきます。

csv.writerを使った方法

csvモジュールはPythonの標準ライブラリに含まれているため、追加でインストールする必要はありません。

csv.writerを使って2次元リストをCSVファイルに書き込む方法を見ていきましょう。

csv.writerの基本構文

csv.writerを使ってCSVファイルに書き込む基本構文は以下のようになります。

import csv

with open('output.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(['列1', '列2', '列3'])
    writer.writerow(['データ1', 'データ2', 'データ3'])

2次元リストをCSVファイルに書き込む手順

2次元リストをCSVファイルに書き込む手順は以下の通りです。

  1. csvモジュールをインポートする
  2. CSVファイルを開く(‘w’モードで開くことで書き込みが可能になります)
  3. csv.writerオブジェクトを作成する
  4. writerowメソッドを使って1行ずつデータを書き込む

例えば、以下のような2次元リストをCSVファイルに書き込む場合、

data = [
    ['列1', '列2', '列3'],
    ['データ1', 'データ2', 'データ3'],
    ['データ4', 'データ5', 'データ6']
]

以下のように書き込むことができます。

import csv

data = [
    ['列1', '列2', '列3'],
    ['データ1', 'データ2', 'データ3'],
    ['データ4', 'データ5', 'データ6']
]

with open('output.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    for row in data:
        writer.writerow(row)

オプション設定と注意点

csv.writerを使う際のオプション設定と注意点を以下に示します。

  • newline='' を指定することで、改行コードの問題を回避できます。
  • encoding='utf-8' を指定することで、文字コードをUTF-8に設定できます。元ファイルがshift-jisなどだと文字化けが発生するので、他の文字コードを使いたい場合は、適宜変更してください。
  • writerowメソッドは1行ずつデータを書き込むため、2次元リストのデータを一度に書き込むことはできません。for文を使って1行ずつ書き込むようにしましょう。

pandasを使った方法

pandasはPythonでデータ解析を行うための強力なライブラリです。

pandasを使って2次元リストをCSVファイルに書き込む方法を見ていきましょう。

pandasのインストールとインポート

pandasは標準ライブラリには含まれていないため、まずはインストールが必要です。

以下のコマンドでインストールできます。

pip install pandas

インストールが完了したら、以下のようにインポートして使用します。

import pandas as pd

2次元リストをデータフレームに変換

pandasでは、2次元リストをデータフレームという形式に変換して扱います。

以下のようにしてデータフレームに変換できます。

import pandas as pd

data = [
    ['列1', '列2', '列3'],
    ['データ1', 'データ2', 'データ3'],
    ['データ4', 'データ5', 'データ6']
]

df = pd.DataFrame(data[1:], columns=data[0])
     列1    列2    列3
0  データ1  データ2  データ3
1  データ4  データ5  データ6

データフレームをCSVファイルに出力する手順

データフレームをCSVファイルに出力するには、以下のようにto_csvメソッドを使います。

df.to_csv('output.csv', index=False, encoding='utf-8')

オプション設定と注意点

pandasを使ってCSVファイルに出力する際のオプション設定と注意点を以下に示します。

  • index=False を指定することで、データフレームのインデックスがCSVファイルに出力されなくなります。
  • encoding='utf-8' を指定することで、文字コードをUTF-8に設定できます。他の文字コードを使いたい場合は、適宜変更してください。
  • データフレームを作成する際に、columns引数で列名を指定することができます。指定しない場合は、デフォルトで0から始まる整数が列名として使用されます。
1 2

この記事のページ一覧
  1. 現在のページ
目次から探す