ホームページ >バックエンド開発 >Python チュートリアル >Python で CSV ファイルを読み書きする方法
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 の 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 ファイルに辞書を書き込む
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ファイルと同じになります:
結論
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 サイトの他の関連記事を参照してください。