以下のPythonスクリプトは、与えられた条件に基づいてレコードの項目数を59項目に調整し、不足する項目にはカンマ(,)を追加する形で新しいCSVファイルに出力します。
import csv
input_file = 'DEVD026.csv' # 読み込むファイル名
output_file = 'DEVD026_processed.csv' # 出力するファイル名
desired_columns = 59 # 目標の項目数
# 入力CSVファイルを読み込み、出力CSVファイルに処理結果を書き込む
with open(input_file, mode='r', newline='', encoding='utf-8') as infile, open(output_file, mode='w', newline='', encoding='utf-8') as outfile:
reader = csv.reader(infile)
writer = csv.writer(outfile)
for row in reader:
# 不足している項目に空文字を追加
while len(row) < desired_columns:
row.append('')
# 加工が完了した行を書き込む
writer.writerow(row)
print(f"処理が完了しました。出力ファイル名: {output_file}")
スクリプトの説明
- 入力ファイルと出力ファイルの指定
input_fileには読み込むファイル (DEVD026.csv) の名前を、output_fileには出力先のファイル名を指定します。
- ファイルの読み書き
csv.readerを用いて入力ファイルを読み込みます。csv.writerを用いて出力ファイルに書き込みます。
- 項目数の調整
- 各レコード(行)をループ処理します。
- 項目数が59項目に満たない場合は、空文字(
'')を追加します。 - 項目数を調整したレコードを出力ファイルに書き込みます。
- 処理完了のメッセージ
- すべてのレコードの処理が完了した際には、完了メッセージを表示します。
このスクリプトを実行すると、DEVD026.csv ファイルの各レコードが59項目になるように加工され、新しいファイル DEVD026_processed.csv に出力されます。
注意点
- 文字コードは
utf-8を使用しています。必要に応じて他のエンコーディングに変更してください。 - 空項目が存在する場合、空文字列(
'')が追加されます。条件に応じて異なる値を追加する場合は、スクリプトを適宜変更してください。

コメント