python

しょっちゅう忘れることを書いておく。

66

1539 views

1. CSVファイルを読み込んで行ごとに表示するコード

# coding:UTF-8
import csv

if __name__ == '__main__':

    with open("data.csv", "r", encoding="utf-8") as f:
        reader = csv.reader(f)
        header = next(reader)  # ヘッダー行を読み飛ばす
        for row in reader:
            print(row)

解説

  • csvモジュールを使用して、CSVファイルを読み込みます。
  • with open("data.csv", "r", encoding="utf-8") as f:の部分で、指定したファイル (data.csv) を読み込みモード ("r") で開き、fにファイルオブジェクトを割り当てます。
  • csv.reader(f)を使って、CSVファイルを行ごとに読み取るためのリーダーオブジェクトを作成します。
  • header = next(reader)で最初の行を読み取り、ヘッダーとして格納します(ここでは読み飛ばす役割)。
  • その後、for row in reader:で、2行目以降のデータを1行ずつ読み取り、print(row)で出力します。

2. CSVファイルを項目名をキーとする辞書型として読み込むコード

def load_file(file_name):
    dict_from_csv = []
    with open(file_name, "r") as f:
        reader = csv.reader(f)
        header = next(reader)  # ヘッダー行を読み込む
        for row in csv.DictReader(f, header):
            dict_from_csv.append(row)

    return dict_from_csv

解説

  • load_file関数は、指定されたCSVファイルを読み込み、各行を辞書形式で格納したリストを返します。
  • with open(file_name, "r") as f:でファイルを開きます。
  • header = next(reader)で、最初の行を読み込み、ヘッダーとして格納します。
  • csv.DictReader(f, header)は、DictReaderを使用して各行を辞書型として読み込みます。ここで、headerを指定しているので、CSVの各列が辞書のキーになります。
  • 各行を辞書型に変換してdict_from_csvリストに追加し、すべての行が処理された後、dict_from_csvを返します。

使用例

CSVの内容が以下のような場合:

name,age,city
Alice,30,New York
Bob,25,Los Angeles
Charlie,35,Chicago

load_file("data.csv")を実行すると、以下のようなリストが得られます:

[
    {"name": "Alice", "age": "30", "city": "New York"},
    {"name": "Bob", "age": "25", "city": "Los Angeles"},
    {"name": "Charlie", "age": "35", "city": "Chicago"}
]

ポイント

  • csv.DictReaderを使うと、CSVデータをキーと値のペアで読み取れるため、特定の列のデータにアクセスする際に便利です。
  • ファイルの文字エンコーディングが異なる場合は、encoding="utf-8"のようにエンコーディングを指定することをお勧めします。

Page 9 of 69.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

すぺぺぺ

自己紹介

本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。

サイト/ブログ

https://www.osumoi-stdio.com/novel/

ツイッター

@darkimpact0626