CRI ADX  Last Updated: 2025-10-02 09:59 p
全体のコード

tutorial07-1_importcsv.py

# --Description:[チュートリアル]CSV を使ったキューシートの作成
import sys
import os
import csv
import cri.atomcraft.debug as acdebug
import cri.atomcraft.project as acproject
# 波形ファイルフォルダーとインポートするCSVファイルのパスの設定
# 波形ファイルのフォルダーパス
data_dir = os.path.dirname(os.path.dirname(__file__)) + '/tutorial_data/tutorial_data03'
# CSVファイルのパス
csv_path = data_dir + "/tutorial_data3.csv"
# CSVファイルが存在するかチェック
if os.path.isfile(csv_path) == False:
acdebug.log("CSVファイルが見つかりません: " + csv_path)
sys.exit()
# ワークユニットを取得
workunit = acproject.get_workunit("WorkUnit_Tutorial")["data"]
material_root_folder = acproject.get_material_rootfolder(workunit)["data"]
# キューシートルートフォルダ
cuesheet_rootfolder = acproject.get_cuesheet_rootfolder(workunit)["data"]
# 拡張子なしのファイル名の取り出し
cuesheet_name = os.path.splitext(os.path.basename(csv_path))[0]
# ファイル名をキューシート名に指定してキューシートを作成
cuesheet = acproject.create_object(cuesheet_rootfolder, "CueSheet", cuesheet_name)["data"]
# CSVファイルを開いて、読み込み
with open(csv_path) as f:
reader = csv.reader(f)
for row in reader:
wave_file_path = "" # 波形ファイルパス格納用
row_params = {} # キューのパラメーター情報格納用
# CSVの各列を取得
wave_file_path = data_dir + "/" + row[0] # 波形ファイル名
row_params["Name"] = row[1] # キュー名
row_params["CueID"] = row[2] # キューID
row_params["Comment"] = row[3] # コメント
# 波形ファイルを登録して、マテリアルを作成
material = acproject.register_material(material_root_folder , wave_file_path)["data"]
# マテリアルからキューを作成
cue = acproject.create_simple_cue(cuesheet, material)["data"]
# キューのキュー名、キューID、コメントを更新
acproject.set_values(cue, row_params)
acdebug.log("[チュートリアル]CSV を使ったキューシートの作成 が完了しました。")
# Save Project
result = acproject.save_project_all()
if not result["succeed"]:
acdebug.warning("プロジェクトファイルの保存に失敗しました。")