ホームページ >バックエンド開発 >Python チュートリアル >ヘッダー行を無視して CSV 列から最小値を抽出するにはどうすればよいですか?

ヘッダー行を無視して CSV 列から最小値を抽出するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-16 19:10:03245ブラウズ

How Can I Extract the Minimum Value from a CSV Column while Ignoring the Header Row?

最小値抽出のために CSV データの最初の行を無視する

CSV データを処理する場合、多くの場合、最初の行をスキップする必要があります。通常、列見出しが含まれます。特定の列から最小値を抽出するときに最初の行を無視するには、次の手順を実行できます:

csv.Sniffer クラスと next() 関数を使用する

  1. csv.Sniffer クラスを使用して、CSV ファイルにヘッダー行があるかどうかを検出します。
  2. 読み取り用に CSV ファイルを開き、先頭までシークします。
  3. ヘッダー行がある場合が検出された場合は、next() 関数を使用してリーダーを次の行に進めます。
  4. 最小値を抽出するための列インデックスとデータ型を指定します。
  5. ジェネレーター式を使用してそれぞれを反復処理します。
  6. 抽出された値から最小値を見つけます。

Python 3.x のコード例:

import csv

with open('all16.csv', 'r', newline='') as file:
    has_header = csv.Sniffer().has_header(file.read(1024))
    file.seek(0)  # Rewind.
    reader = csv.reader(file)
    if has_header:
        next(reader)  # Skip header row.
    column = 1
    data = (float(row[column]) for row in reader)
    least_value = min(data)

print(least_value)

ハードコードされた値の最適化

この例では列とデータ型がハードコードされているため、処理を高速化するために次の最適化を行うことができます:

data = (float(row[1]) for row in reader)

Python 2.x に関するメモ

Python 2.x の場合は、次の行を使用してファイルを開きます:

with open('all16.csv', 'rb') as file:

以上がヘッダー行を無視して CSV 列から最小値を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。