Python で配列を CSV ファイルに書き込む

Muhammad Waiz Khan 2023年1月30日
  1. Python で Python numpy.savetxt() メソッドを使用して CSV ファイルに配列を書き込む
  2. Dataframe.to_csv() メソッドを使用した Python の CSV ファイルへの Python 書き込み配列
  3. Python で writer.writerows() メソッドを使って配列を CSV ファイルに書き込む
Python で配列を CSV ファイルに書き込む

このチュートリアルでは、Python で配列のデータをコンマ区切り値(CSV)ファイルに書き込むためのさまざまな方法について説明します。処理されたデータ、アルゴリズムの出力、モデルの重みなどを含む配列があり、将来の使用のためにそれらを保存したいとします。

CSV ファイルは、その形式でデータを構造化テーブル形式で保存できるため、通常、配列データの保存に使用されます。Python で次のメソッドを使用して、配列を CSV ファイルに書き込むことができます。

Python で Python numpy.savetxt() メソッドを使用して CSV ファイルに配列を書き込む

numpy.savetxt(fname, array, delimiter=) メソッドは、入力配列をファイル-fname に保存します。delimiter 引数は、データ内の独立した値を区切るための区切り文字として使用される値です。

配列を CSV ファイルに保存するには、拡張子が .csvfname を渡し、区切り文字としてコンマ , を使用する必要があります。以下のサンプルコードは、numpy.savetxt() を使用して Python で CSV ファイルに配列を書き込む方法を示しています。

import numpy as np

a = np.array([[1, 4, 2], [7, 9, 4], [0, 6, 2]])
np.savetxt("myfile.csv", a, delimiter=",")

Dataframe.to_csv() メソッドを使用した Python の CSV ファイルへの Python 書き込み配列

Dataframe.to_csv(path, sep,...) メソッドは、path 引数で指定されたファイルとパスに DataFrame を保存します。sep 引数は、値を区切るために使用される区切り文字または区切り文字です。sep 引数のデフォルト値はコンマ , です。

配列を CSV ファイルに書き込むには、最初に配列を DataFrame に変換し、次に Dataframe.to_csv() メソッドを使用して path 引数として CSV ファイルのパスを指定します。sep 引数のデフォルト値は , であるため、DataFrame および path 引数を Dataframe.to_csv() メソッドに指定する必要があります。

以下のサンプルコードは、Dataframe.to_csv() メソッドを使用して、Python で配列を CSV ファイルに書き込む方法を示しています。

import pandas as pd

df = pd.DataFrame(myarray)
df.to_csv("myfile.csv")

Python で writer.writerows() メソッドを使って配列を CSV ファイルに書き込む

writer.writerows(rows) は、rows 引数を 2D 配列またはリストの形で取り、それを writer のファイルオブジェクトに書き込みます。writer オブジェクトは、csv.writer(file) メソッドから返されます。このメソッドは、ファイルオブジェクト file を入力として受け取り、writer オブジェクトを出力として返します。

配列を CSV ファイルに書き込むには、最初に CSV ファイルオブジェクトを csv.writer() メソッドに渡し、次に返された writer オブジェクトを使用して配列を CSV ファイルに書き込みます。

以下のサンプルコードは、writer.writerows() メソッドを使用して、Python で配列を CSV ファイルに書き込む方法を示しています。

import csv
import numpy

a = numpy.array([[1, 4, 2], [7, 9, 4], [0, 6, 2]])

with open("myfile.csv", "w", newline="") as file:
    mywriter = csv.writer(file, delimiter=",")
    mywriter.writerows(a)

CSV ファイルから配列を読み取るには、csv.reader(file) メソッドの writer オブジェクトを使用して、Python で CSV ファイルのファイルオブジェクト file から配列を読み取ることができます。

以下のサンプルコードは、csv.reader() メソッドを使用して CSV ファイルから配列を読み取る方法を示しています。

import csv

with open("myfile.csv", "r", newline="") as file:
    myreader = csv.reader(file, delimiter=",")
    for rows in myreader:
        print(rows)

出力:

['1', '4', '2']
['7', '9', '4']
['0', '6', '2']

関連記事 - Python Array