【Python】PandasでCSVファイルを読み書きする方法を紹介!

こんにちは!

皆さんは、PandasでCSVファイルを読み込もう、CSVファイルへ書き出そうと思ったことはありませんか?

Python初心者
Pandasで読み込むと、dataframe型で使えるから便利だね!

CSVファイルの読み込みは、with文などを用いてもできます。

あわせて読みたい

こんにちは! 皆さんはCSVファイルからデータを読み込んだり、 CSVファイルへデータを書き込みたいと思ったことはありますか? CSVファイルはエクセルなどでも開くことができたり、よく使われているデータ形式なので、プログラミン[…]

csv

しかしdataframe型を扱う場合には、Pandasを使ったほうが簡単です。

PandasでCSVファイルを読み込むには「read_csv()」、CSVファイルへ書き出すには「to_csv()」を使うと簡単に実現することができます。

今回の記事では、以下の内容について紹介します。

  • PandasでCSVファイルへ書き出す方法
  • PandasでCSVファイルを読み込む方法

PandasでCSVファイルを書き出す方法

Pandasを使ってCSVファイルを書き出すには、「to_csv()」を使います。

pd.to_csv(ファイル名)

以下のプログラムは作成したDataFrameをCSVファイルにファイル名を指定して書き出すプログラムです。

import pandas as pd

list = [[160, 60], [170, 70]]
df = pd.DataFrame(list, columns=["身長", "体重"])

df.to_csv("body_data.csv")

実行結果

PandasでCSVファイルを読み込む方法

Pandasを使ってCSVファイルを読み込むには、「read_csv()」を使います。

pd.read_csv(ファイル名, header=行番号, index_col=列番号)

「header」にはcolumnsにしたい行の番号を指定します。デフォルトは0です。

「index_col」にはindexにしたい列の番号を指定します。デフォルトはNoneです。

先ほど「to_csv()」により保存したCSVファイルを読み込んでみましょう。

以下のプログラムは、header, indexのあるCSVファイルを読み込むプログラムです。

import pandas as pd

df = pd.read_csv("body_data.csv", header=0, index_col=0)
print(df)

実行結果

    身長  体重
0  160  60
1  170  70

columnsが身長と体重、インデックスが0と1のdataframeができました。

インデックス番号があるCSVファイルを読み込む際に、index_colを指定しないと、インデックスが連番で作成されてしまうため注意してください。

例)

import pandas as pd

df = pd.read_csv("body_data.csv")
print(df)

実行結果

   Unnamed: 0   身長  体重
0           0  160  60
1           1  170  70

headerのデフォルト値は0なのでheaderは指定しなくても正しく読み込めますが、indexはデフォルト値がNoneなので、indexがある場合にはきちんと指定してあげましょう。

まとめ

今回の記事では、以下の内容について紹介しました。

  • PandasでCSVファイルへ書き出す方法
    「to_csv()」を使用
  • PandasでCSVファイルを読み込む方法
    「read_csv()」を使用
Python初心者
pandasを使って読み込むと簡単だね!

dataframe型を使用する際には、Pandasを使ってcsvファイルを操作するようにしましょう!