Python でリストに CSV を読み込む方法
この記事では、Python で CSV をリストに読み込む方法を紹介します。
以下のような内容の CSV
ファイル Employees.csv
があるとします。
Id | Name | Department | Salary | |
---|---|---|---|---|
1 | Sam | Human Resource | sam@gmail.com | 65K |
2 | John | Management | john@gmail.com | 58K |
3 | Tony | IT | tony@gmail.com | 70K |
4 | Mike | Accounts | mike@gmail.com | 35K |
このファイルをテキストエディタで開くと、以下のようになります。
Id,Name,Department,email,Salary
1,Sam,Human Resource,sam@gmail.com,65K
2,John,Management,john@gmail.com,58K
3,Tonny,IT,tonny@gmail.com,70K
4,Mike,Accounts,mike@gmail.com,35K
それでは、上記の CSV ファイルのデータを Python のリストにインポートしてみましょう。
Python で CSV をリストに読み込むには csv.reader
を使用する
Python には CSV
というモジュールが組み込まれており、CSV ファイルの内容を読み込むためのリーダクラスがあります。Python で CSV をリストに読み込むコードの例は以下の通りです。
from csv import reader
with open("Employees.csv", "r") as csv_file:
csv_reader = reader(csv_file)
# Passing the cav_reader object to list() to get a list of lists
list_of_rows = list(csv_reader)
print(list_of_rows)
csv_reader = reader(csv_file)
はファイル ojbect csv_file
を csv.reader()
関数に渡し、reader
オブジェクトを取得します。これはイテレータを返し、CSV ファイルの全行を繰り返し処理するために利用されます。
リストの各要素は CSV の行を意味し、リストの各項目は行内のセルや列を表します。
出力:
[['Id', 'Name', 'Company', 'email', 'Salary'],
['1', 'Sam', 'Human Resource', 'sam@gmail.com', '65K'],
['2', 'John', 'Management', 'john@gmail.com', '58K'],
['3', 'Tonny', 'IT', 'tonny@gmail.com', '70K'],
['4', 'Mike', 'Accounts', 'mike@gmail.com', '35K']]
他のデリミタを用いて csv.reader
を用いて Python で CSV をリストに読み込む
関数 csv.reader
は、値がカンマではなく他の文字で区切られているテキストファイルを読み込むオプションも提供しています。例えば、区切り文字にはタブや空白を用いることができます。このようなファイルを読み込むには、追加のパラメータ delimiter
をリーダ関数に渡す必要があります。以下の例を参照してください。
ファイル Employees_TSV.csv
が存在する場合、内容は Employees.csv と同じですが、カンマではなくタブで区切られています。
from csv import reader
with open("Employees_TSV.csv", "r") as csv_file:
csv_reader = reader(csv_file, delimiter="\t")
list_of_rows = list(csv_reader)
print(list_of_rows)
上記のコードでタブ区切りの値ファイルからデータを読み込んでいます。delimiter = 't'
は CSV ファイルのデリミタがタブであることを指定しています。
このコードの出力は上記と同じです。
関連記事 - Python List
- Python でリストから要素の出現をすべて削除する
- Python で辞書をリストに変換する
- Python でリストから重複を削除する
- Python でリストの平均を取得する方法
- リストメソッドの追加と拡張の違いは何ですか
- Python でリストを文字列に変換する方法