ホームページ > バックエンド開発 > Python チュートリアル > Python で CSV ファイルを読み書きする方法

Python で CSV ファイルを読み書きする方法

PHPz
リリース: 2023-06-26 13:09:59
転載
6273 人が閲覧しました

Python で CSV に書き込むには、Python の csv モジュールを使用します。

たとえば、文字列のリストを新しい CSV ファイルに書き込んでみましょう:

import csv
data = ["This", "is", "a", "Test"]
with open('example.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(data)
ログイン後にコピー
ログイン後にコピー

したがって、現在のフォルダーに example.csv という名前のファイルが表示されます。

Python で CSV を記述する 4 つの手順

Python で CSV ファイルを書き込むには:

1. CSV ファイルは書き込みモードです。 これは、open() 関数を使用して行われます。最初の引数としてファイルへのパスを指定します。 2 番目の引数としてモードを指定します (読み取りの場合は「r」、書き込みの場合は「w」)。
2. CSV ライター オブジェクトを作成します。 これを行うには、csv モジュールの Writer() オブジェクトを作成し、開いているファイルをその引数として渡します。
3. データをCSVファイルに書き込みます。 ライター オブジェクトの writerow() 関数を使用して、データを CSV ファイルに書き込みます。
4. ファイルの close() メソッドを使用して、CSV ファイルを閉じます。

このプロセスを示す例は次のとおりです。

import csv
# 1.
file = open('test.csv', 'w')
# 2.
writer = csv.writer(file)
# 3.
data = ["This", "is", "a", "Test"]
writer.writerow(data)
# 4.
file.close()
ログイン後にコピー

このコードは、現在のフォルダーに test.csv という名前のファイルを作成します。

指定されたファイルが存在しない場合、open() 関数は新しいファイルを開きます。存在する場合、既存のファイルが開かれます。

省略表記

CSV への書き込みにかかる時間を短縮するには、

with ステートメントを使用してファイルを開きます。こうすることで、自分でファイルを閉じることを心配する必要がなくなります。 with はこの部分を自動的に処理します。

例:

import csv
# 1. step
with open('test.csv', 'w') as file:
    # 2. step
    writer = csv.writer(file)
    # 3. step
    data = ["This", "is", "a", "Test"]
    writer.writerow(data)
ログイン後にコピー

これにより、現在のフォルダーに test.csv という名前の新しい CSV ファイルが作成され、そこに文字列のリストが書き込まれます。

Python で非 ASCII 文字を CSV に書き込む方法

デフォルトでは、非 ASCII 文字を CSV ファイルに書き込むことはできません。

非 ASCII 値の CSV ファイルへの書き込みをサポートするには、open() 呼び出しの 3 番目のパラメーターとして文字エンコーディングを指定します。

with open('PATH_TO_FILE.csv', 'w', encoding="UTF8")
ログイン後にコピー

プロセスの残りの部分は、以前に学習した手順に従います。

CSV ファイルのヘッダーを作成する方法

これまでに、構造のない CSV ファイルを作成しました。

Python では、任意のデータを CSV に書き込むための

writerow() 関数を使用して、任意の CSV ファイルのヘッダーを書き込むことができます。

例: 生徒データを含むサンプル CSV ファイルを作成してみましょう。

データを効果的に構築するには、CSV ファイルの先頭に生徒用のヘッダーを作成して挿入する必要があります。前と同じ手順に従ってデータを CSV ファイルに書き込めば完了です。

コードは次のとおりです:

import csv
# Define the structure of the data
student_header = ['name', 'age', 'major', 'minor']
# Define the actual data
student_data = ['Jack', 23, 'Physics', 'Chemistry']
# 1. Open a new CSV file
with open('students.csv', 'w') as file:
    # 2. Create a CSV writer
    writer = csv.writer(file)
    # 3. Write data to the file
    writer.writerow(student_header)
    writer.writerow(student_data)
ログイン後にコピー

これにより、現在作業しているフォルダーにstudents.csvファイルが作成されます。新しいファイルは次のようになります。

Python で CSV ファイルを読み書きする方法

Python で CSV ファイルに複数行を書き込む方法

Python では、CSV の writerows を使用できます。 Writer () 関数は、CSV ファイルに複数の行を同時に書き込みます。 ######例。複数行のデータを CSV ファイルに書き込みたいとします。たとえば、生徒を 1 人だけではなくリストにすることもできます。

複数行のデータを CSV に書き込むには、writerows() メソッドを使用します。

これは例です:

import csv
student_header = ['name', 'age', 'major', 'minor']
student_data = [
    ['Jack', 23, 'Physics', 'Chemistry'],
    ['Sophie', 22, 'Physics', 'Computer Science'],
    ['John', 24, 'Mathematics', 'Physics'],
    ['Jane', 30, 'Chemistry', 'Physics']
]
with open('students.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(student_header)
    # Use writerows() not writerow()
    writer.writerows(student_data)
ログイン後にコピー

これにより、次のような新しい CSV ファイルが生成されます:

方法Python CSV ファイルに辞書を書き込むPython で CSV ファイルを読み書きする方法

DictWriter オブジェクトを使用すると、Python で辞書を CSV ファイルに書き込むことができます。これには、次の 3 つの手順が含まれます:

1. csv の DictWriter オブジェクトを使用します。モジュールとフィールド名を指定します。

2. writeheader() メソッドを使用して、CSV ファイルにヘッダーを作成します。

3. writerows() メソッドを使用して、辞書データをファイルに書き込みます。

例: 生徒データ辞書を CSV ファイルに書き込んでみましょう。

import csv
student_header = ['name', 'age', 'major', 'minor']
student_data = [
    {'name': 'Jack', 'age': 23, 'major': 'Physics', 'minor': 'Chemistry'},
    {'name': 'Sophie', 'age': 22, 'major': 'Physics', 'minor': 'Computer Science'},
    {'name': 'John', 'age': 24, 'major': 'Mathematics', 'minor': 'Physics'},
    {'name': 'Jane', 'age': 30, 'major': 'Chemistry', 'minor': 'Physics'}
]
with open('students.csv', 'w') as file:
    # Create a CSV dictionary writer and add the student header as field names
    writer = csv.DictWriter(file, fieldnames=student_header)
    # Use writerows() not writerow()
    writer.writeheader()
    writer.writerows(student_data)
ログイン後にコピー

結果は前の例のstudents.csvファイルと同じになります:

結論Python で CSV ファイルを読み書きする方法

CSVまたはカンマ区切り値は一般的に使用されるファイル形式です。通常はカンマで区切られた値で構成されます。

Python で CSV を書き込むには、次の手順に従って csv モジュールを使用する必要があります:

1. CSV ファイルを書き込みモードで開きます。

2. CSV ライター オブジェクトを作成します。

3. データを CSV ファイルに書き込みます。

4. CSV ファイルを閉じます。

これは実際的な例です。

import csv
data = ["This", "is", "a", "Test"]
with open('example.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(data)
ログイン後にコピー
ログイン後にコピー
楽しくコーディングしてください!

以上がPython で CSV ファイルを読み書きする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート