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行として書き込んでいます。
複数行のデータを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やプログラミングに関するコラム
- CSSのFlexboxで簡単横並び!基本から応用までサンプルコードも使い紹介
- JavaScriptで位置情報を取得する方法と注意点
- JavaScriptで作る効果的なポップアップとモーダルウィンドウ
- JavaScriptによる要素変更:DOMとスタイル制御
- Font Awesome活用法を紹介!HTMLでアイコンを簡単に追加する方法を解説