工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

PythonでCSVファイルを読み書きする包括的ガイド

PythonでCSVファイルを読み書きする包括的ガイド

CSVファイルとは?

CSV(Comma-Separated Values)ファイルは、表形式データをプレーンテキストで格納します。各行が1レコードを表し、個々のフィールドはカンマ、セミコロン、または他の区切り文字で区切られます。CSVファイルは軽量で、スプレッドシート、データベース、データ分析ツールで広くサポートされており、データ交換の好ましいフォーマットです。

CSVサンプルファイル

小さなプログラミング言語データベースの典型的なCSV表現。1行目が列ヘッダー、以降がデータ行。

テーブルデータ

プログラミング言語設計者登場年拡張子
PythonGuido van Rossum1991.py
JavaJames Gosling1995.java
C++Bjarne Stroustrup1983.cpp

CSVデータ

Programming language,Designed by,Appeared,Extension
Python,Guido van Rossum,1991,.py
Java,James Gosling,1995,.java
C++,Bjarne Stroustrup,1983,.cpp

Python組み込みcsvモジュール

csvモジュールはCSVファイルの読み書きのための低レベルツールを提供します。クォート、区切り文字、行終端文字を自動処理し、手動文字列操作の必要性を減らします。

主要関数

CSVファイルの読み取り

CSVファイルを読み取り、各行をPythonリストとして出力する最小限の本番向け例:

import csv
with open('data.csv', mode='r', newline='', encoding='utf-8') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

出力:

["Programming language", "Designed by", "Appeared", "Extension"]
["Python", "Guido van Rossum", "1991", ".py"]
["Java", "James Gosling", "1995", ".java"]
["C++", "Bjarne Stroustrup", "1983", ".cpp"]

CSVを辞書として読み取り

csv.DictReaderを使うとヘッダー行が自動的に辞書キーにマッピングされ、データ処理が簡素化されます。

import csv
with open('data.csv', mode='r', newline='', encoding='utf-8') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

結果の辞書:

{"Programming language": "Python", "Designed by": "Guido van Rossum", "Appeared": "1991", "Extension": ".py"}
{"Programming language": "Java", "Designed by": "James Gosling", "Appeared": "1995", "Extension": ".java"}
{"Programming language": "C++", "Designed by": "Bjarne Stroustrup", "Appeared": "1983", "Extension": ".cpp"}

CSVファイルの書き込み

csv.writerとcsv.DictWriterクラスで効率的にデータ書き込み:

import csv
rows = [
    ["Programming language", "Designed by", "Appeared", "Extension"],
    ["Python", "Guido van Rossum", "1991", ".py"],
    ["Java", "James Gosling", "1995", ".java"],
    ["C++", "Bjarne Stroustrup", "1983", ".cpp"],
]
with open('writeData.csv', mode='w', newline='', encoding='utf-8') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    writer.writerows(rows)

生成されるwriteData.csvは元のサンプルと一致します。

PandasでのCSV操作

PandasはデータをDataFrameに読み込み、最小限のコードで強力なデータ操作を可能にすることでCSV処理を簡素化します。未インストールならpip install pandasでインストール。

Pandasで読み取り

import pandas as pd
df = pd.read_csv('data.csv')
print(df)

出力:

  Programming language       Designed by  Appeared Extension
0                 Python  Guido van Rossum      1991       .py
1                   Java      James Gosling      1995      .java
2                   C++   Bjarne Stroustrup      1983      .cpp

Pandasで書き込み

import pandas as pd
data = {
    'Programming language': ['Python', 'Java', 'C++'],
    'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
    'Appeared': ['1991', '1995', '1983'],
    'Extension': ['.py', '.java', '.cpp'],
}
df = pd.DataFrame(data)
df.to_csv('pandaresult.csv', index=False)
print(df)

結果のCSVは元と同一ですが、DataFrameは高度な分析機能を提供します。

結論

PythonのcsvモジュールとPandasは、CSVファイルの読み取り、書き込み、操作のための堅牢で使いやすいツールを提供します。これらのライブラリを習得すれば、Webサービス、ETLパイプライン、科学研究における効率的なデータワークフローが実現できます。今すぐ実験を始め、CSV処理をプロジェクトに自信を持って統合してください。

Python

  1. VHDLのTEXTIOライブラリでテキスト・ファイルからFPGAブロックRAMを初期化する
  2. Python キーワードと識別子: 予約語と命名規則をマスター
  3. Python 文・インデント・コメント: 明確なガイド
  4. Python 変数・定数・リテラル: 包括的ガイド
  5. Python 型変換とキャスト: 包括的ガイド
  6. Python I/Oとモジュールインポート完全マスター: 実践ガイド
  7. Python グローバル・ローカル・非ローカル変数を理解する
  8. PythonファイルI/O:ファイル操作、読み書き、管理のマスター
  9. Pythonディレクトリ・ファイル操作マスター:作成、移動、一覧、リネーム、削除
  10. Pythonエラーと組み込み例外をマスターする
  11. Pythonで現在の日付と時刻を取得する実践ガイド