知り合いが悩んでいたので実装してもらった。マジでいけるんだ…
質問文
virtualdjで出力したcueシートを、csv形式に変換するpythonスクリプトを実装してください
回答
import csv def convert_cue_to_csv(cue_file, csv_file): # cueシートのデータを格納するリスト cue_data = [] # cueシートのファイルを開く with open(cue_file, 'r') as f: # cueシートの各行を処理する for line in f: # cueシートの行がトラック情報かどうか判断する if line.startswith(' TRACK'): # トラック情報を格納する辞書 track_data = {} # トラック番号を取得する track_num = line.split()[1] track_data['Track Number'] = track_num # トラックタイプを取得する track_type = line.split()[2] track_data['Track Type'] = track_type # 次の行を処理する line = f.readline() # トラック名を取得する track_name = line.split('"')[1] track_data['Track Name'] = track_name # 次の行を処理する line = f.readline() # トラックの長さを取得する track_length = line.split()[3] track_data['Track Length'] = track_length # cueシートのデータにトラック情報を追加する cue_data.append(track_data) # CSVファイルに書き込む with open(csv_file, 'w', newline='') as f: # CSVファイルに書き込むためのオブジェクトを作成 writer = csv.DictWriter(f, fieldnames=['Track Number', 'Track Type', 'Track Name', 'Track Length']) # ヘッダーを書き込む writer.writeheader() # cueシートのデータを書き込む writer.writerows(cue_data) # cueシートのファイル名 cue_file = 'example.cue' # CSVファイル名 csv_file = 'example.csv' # cueシートをCSV形式に変換する convert_cue_to_csv(cue_file, csv_file)
このスクリプトは、cueシートのファイルを開き、トラック情報を取得して、CSVファイルに書き込みます。トラック情報は、トラック