Python でリストを CSV に書き込む方法
-
Python でリストを CSV に書き込むには
csv.writer()
メソッドを使用する - 引用符メソッドを使って Python でリストを CSV に書き込む
-
Python で
pandas
メソッドを用いてリストを CSV に書き出す -
Python で
NumPy
メソッドを使ってリストを CSV に書き込む
CSV ファイルは、表形式でデータを保存することができます。このデータは単純なテキストで、データの 1 行ごとをレコードと呼び、1つ 1つをカンマで区切ることができます。
この記事では、Python でリストを CSV に書き込む方法について説明します。
Python でリストを CSV に書き込むには csv.writer()
メソッドを使用する
まず、csv
モジュールをインポートしてみよう。
import csv
以下のエントリを CSV ファイルに書き出すとします。
RollNo, Name, Subject
1, ABC, Economics
2, TUV, Arts
3, XYZ, Python
これで、完全なサンプルコードは以下のようになります。
import csv
with open("students.csv", "w", newline="") as student_file:
writer = csv.writer(student_file)
writer.writerow(["RollNo", "Name", "Subject"])
writer.writerow([1, "ABC", "Economics"])
writer.writerow([2, "TUV", "Arts"])
writer.writerow([3, "XYZ", "Python"])
上記のコードを実行すると、カレントディレクトリに students.csv
ファイルが行単位で作成されます。関数 csv.writer()
は writer()
オブジェクトを生成し、writer.writerow()
コマンドは行単位でエントリを CSV ファイルに挿入します。
引用符メソッドを使って Python でリストを CSV に書き込む
この方法では、引用符を使って CSV ファイルに値を書き込む方法を見ていきます。完全なサンプルコードは以下の通りです。
import csv
list = [["RN", "Name", "GRADES"], [1, "ABC", "A"], [2, "TUV", "B"], [3, "XYZ", "C"]]
with open("studentgrades.csv", "w", newline="") as file:
writer = csv.writer(file, quoting=csv.QUOTE_ALL, delimiter=";")
writer.writerows(list)
カレントディレクトリに studentgrades.csv
ファイルが作成されます。関数 csv.QUOTE_ALL()
は、区切り文字 ;
を使用して、すべてのエントリを二重引用符で囲みます。
出力:
RN;"Name";"GRADES"
1;"ABC";"A"
2;"TUV";"B"
3;"XYZ";"C"
Python で pandas
メソッドを用いてリストを CSV に書き出す
この方法では、完全なデータフレームを保持する Pandas
ライブラリを用います。このライブラリが PC にインストールされていない場合は、Google Colab というオンラインツールを利用することができます。
完全なサンプルコードは以下の通りです。
import pandas as pd
name = ["ABC", "TUV", "XYZ", "PQR"]
degree = ["BBA", "MBA", "BSC", "MSC"]
score = [98, 90, 88, 95]
dict = {"name": name, "degree": degree, "score": score}
df = pd.DataFrame(dict)
df.to_csv("test.csv")
出力:
name degree score
0 ABC BBA 98
1 TUV MBA 90
2 XYZ BSC 88
3 PQR MSC 95
このメソッドは、Python のリストをデータフレームとして CSV ファイルに書き出します。
Python で NumPy
メソッドを使ってリストを CSV に書き込む
このメソッドは NumPy
ライブラリを用いて、Python でリストを CSV ファイルに保存します。完全なサンプルコードは以下の通りです。
import numpy as np
list_rows = [
["ABC", "COE", "2", "9.0"],
["TUV", "COE", "2", "9.1"],
["XYZ", "IT", "2", "9.3"],
["PQR", "SE", "1", "9.5"],
]
np.savetxt("numpy_test.csv", list_rows, delimiter=",", fmt="% s")
NumPy
ライブラリの savetxt()
関数は Python のリストから CSV ファイルを書き出します。
出力:
ABC COE 2 9
TUV COE 2 9.1
XYZ IT 2 9.3
PQR SE 1 9.5
関連記事 - Python CSV
- Python を使用して 2つの CSV ファイルを比較し、相違点を出力する
- PythonはCSVを複数のファイルに分割します
- 複数の CSV ファイルを Pandas にインポートし、1つの DataFrame に連結する
- Python で CSV に 1 行ずつ書き込みます
- Python で CSV を 1 行ずつ読む
- Python を使用して XML を CSV に変換する