PythonでCSVファイルを操作する際、特定の列にデータを書き込むことがよくあります。この記事では、その方法を詳しく解説します。
pandasを使用した方法
pandasライブラリを使用すると、特定の列を選択してCSVファイルに書き込むことができます。以下にそのコードを示します。
import pandas as pd
# CSVファイルを読み込む
df = pd.read_csv('input.csv')
# 書き込む列を選択
columns_to_write = ["column1", "column2", "column3"]
# 選択した列を新しいCSVファイルに書き込む
df[columns_to_write].to_csv('output.csv', index=False)
このコードでは、まずpandasを用いてCSVファイルを読み込みます。次に、書き込む列を選択します。最後に、選択した列を新しいCSVファイルに書き込みます。
csvモジュールを使用した方法
Pythonの標準ライブラリであるcsvモジュールを使用することでも、特定の列にデータを書き込むことが可能です。以下にそのコードを示します。
import csv
def write_to_column(csv_file, column_name, data):
with open(csv_file, 'r') as file:
reader = csv.DictReader(file)
rows = list(reader)
if column_name not in reader.fieldnames:
print(f"Error: Column '{column_name}' does not exist.")
return
for row in rows:
row[column_name] = data
with open(csv_file, 'w', newline='') as file:
writer = csv.DictWriter(file, fieldnames=reader.fieldnames)
writer.writeheader()
writer.writerows(rows)
csv_file = 'sample.csv'
new_data = 'New Value'
column = 'Column1'
write_to_column(csv_file, column, new_data)
このコードでは、まずCSVファイルを読み込み、指定した列名が存在するかどうかを確認します。列名が存在する場合、新しいデータをその列に書き込みます。
以上、PythonでCSVファイルに特定の列を書き込む方法について解説しました。pandasライブラリを使用する方法とcsvモジュールを使用する方法の2つを紹介しました。それぞれの方法には特徴がありますので、目的に応じて適切な方法を選択してください。