【Python】CSVファイルへ1行ずつデータを書き込む方法・サンプルコードを紹介

【Python】CSVファイルへ1行ずつデータを書き込む方法・サンプルコードを紹介

公開: 更新:


PythonでCSVファイルに1行ずつデータを書き込む基本的な方法

【サンプルコード】
import csv
data = ["ID", "Name", "Age"]
file_path = "example.csv"
with open(file_path, mode='w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(data)
【実行結果】
ファイルには以下の内容が書き込まれます:
ID,Name,Age

上記のサンプルコードは、PythonでCSVファイルに1行のデータを書き込む方法を示しています。

1行目のimport csvは、Pythonの標準ライブラリであるcsvモジュールをインポートしています。このモジュールには、CSVファイルの読み書きを簡単に行うための関数やクラスが含まれています。

2行目でdataというリストを定義しており、このリストにはCSVファイルに書き込むデータが含まれています。ここでは、"ID", "Name", "Age"の3つの文字列が含まれており、これらはCSVファイルのヘッダーとして使用されます。

3行目のfile_pathは、書き込むファイルのパスを示しています。4行目のwith open(file_path, mode='w', newline='') as file:は、指定されたパスにファイルを書き込みモードで開きます。newline=''は、書き込み時に余分な改行が入らないようにするためのオプションです。

5行目のcsv.writer(file)は、ファイルにデータを書き込むためのライターオブジェクトを作成します。このオブジェクトを使用して、CSVファイルにデータを書き込むことができます。

最後に、6行目のwriter.writerow(data)で、先ほど定義したデータをCSVファイルに1行として書き込んでいます。

「Python」を学べるコードキャンプのサービス

複数行のデータをCSVファイルに書き込む方法

【サンプルコード】
import csv
data_rows = [["1", "Alice", "24"], ["2", "Bob", "30"], ["3", "Charlie", "28"]]
file_path = "example.csv"
with open(file_path, mode='a', newline='') as file:
  writer = csv.writer(file)
  for row in data_rows:
    writer.writerow(row)
【実行結果】
ファイルには以下の内容が書き込まれます:
1,Alice,24
2,Bob,30
3,Charlie,28

上記のサンプルコードは、複数行のデータをCSVファイルに書き込む方法を示しています。

2行目でdata_rowsというリスト(2次元リスト)を定義しています。CSVファイルに書き込むデータの各行が含まれており、それぞれID、名前、年齢を表しています。

4行目でファイルを書き込みモード(追記)で開き、5行目でCSVライターオブジェクトを作成しています。

6行目と7行目のfor row in data_rows:ループでは、data_rowsの各行を順に取り出し、CSVファイルに書き込んでいます。ここでのwriter.writerow(row)は、ループの各イテレーションでリストの1行をCSVファイルに書き込む役割を果たします。

この方法を使用すると、リストの各要素を一度にCSVファイルに書き込むことができ、効率的です。

PythonでCSVファイルへの書き込みをカスタマイズする方法

【サンプルコード】
import csv
data = ["ID", "Name", "Age"]
file_path = "example.csv"
with open(file_path, mode='w', newline='') as file:
  writer = csv.writer(file, delimiter=';', quotechar='"', quoting=csv.QUOTE_MINIMAL)
  writer.writerow(data)
【実行結果】
ファイルには以下の内容が書き込まれます:
"ID";"Name";"Age"

上記のサンプルコードでは、CSVファイルへの書き込み時に区切り文字や引用符などをカスタマイズする方法を示しています。

5行目のcsv.writer(file, delimiter=';', quotechar='"', quoting=csv.QUOTE_MINIMAL)では、CSVライターオブジェクトを作成する際にいくつかのオプションを指定しています。

delimiter=';'は、フィールドを区切るための文字をセミコロン(;)に設定しています。通常、CSVファイルではカンマ(,)が使用されますが、他の文字を使用することもできます。

quotechar='"'は、フィールドを引用符で囲むための文字をダブルクォート(")に設定しています。これにより、フィールドに区切り文字と同じ文字が含まれている場合でも、正しく読み書きできるようになります。

quoting=csv.QUOTE_MINIMALは、フィールドに区切り文字や引用符が含まれている場合にのみ引用符を使用するように設定しています。不必要に引用符が追加されるのを防ぎ、ファイルの読みやすさを保つことができます。

上記のようなカスタマイズを行うことで、異なるフォーマットのCSVファイルの作成や、特定の要件に合わせたデータの書き込みが可能になります。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア 中途採用者向けのIT・プログラミング研修 - IT・プログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する