全体のコード

tutorial07-1_importcsv.py

1 # --Description:[チュートリアル]CSV を使ったキューシートの作成
2 
3 import sys
4 import os
5 import csv
6 import cri.atomcraft.debug as acdebug
7 import cri.atomcraft.project as acproject
8 
9 # 波形ファイルフォルダーとインポートするCSVファイルのパスの設定
10 # 波形ファイルのフォルダーパス
11 data_dir = os.path.dirname(os.path.dirname(__file__)) + '/tutorial_data/tutorial_data03'
12 
13 # CSVファイルのパス
14 csv_path = data_dir + "/tutorial_data3.csv"
15 # CSVファイルが存在するかチェック
16 if os.path.isfile(csv_path) == False:
17  acdebug.log("CSVファイルが見つかりません: " + csv_path)
18  sys.exit()
19 
20 
21 # ワークユニットを取得
22 workunit = acproject.get_workunit("WorkUnit_Tutorial")["data"]
23 material_root_folder = acproject.get_material_rootfolder(workunit)["data"]
24 
25 # キューシートルートフォルダ
26 cuesheet_rootfolder = acproject.get_cuesheet_rootfolder(workunit)["data"]
27 
28 # 拡張子なしのファイル名の取り出し
29 cuesheet_name = os.path.splitext(os.path.basename(csv_path))[0]
30 # ファイル名をキューシート名に指定してキューシートを作成
31 cuesheet = acproject.create_object(cuesheet_rootfolder, "CueSheet", cuesheet_name)["data"]
32 
33 
34 # CSVファイルを開いて、読み込み
35 with open(csv_path) as f:
36  reader = csv.reader(f)
37 
38  for row in reader:
39  wave_file_path = "" # 波形ファイルパス格納用
40  row_params = {} # キューのパラメーター情報格納用
41 
42  # CSVの各列を取得
43  wave_file_path = data_dir + "/" + row[0] # 波形ファイル名
44  row_params["Name"] = row[1] # キュー名
45  row_params["CueID"] = row[2] # キューID
46  row_params["Comment"] = row[3] # コメント
47 
48  # 波形ファイルを登録して、マテリアルを作成
49  material = acproject.register_material(material_root_folder , wave_file_path)["data"]
50 
51  # マテリアルからキューを作成
52  cue = acproject.create_simple_cue(cuesheet, material)["data"]
53 
54  # キューのキュー名、キューID、コメントを更新
55  acproject.set_values(cue, row_params)
56 
57 acdebug.log("[チュートリアル]CSV を使ったキューシートの作成 が完了しました。")
58 
59 # Save Project
60 result = acproject.save_project_all()
61 if not result["succeed"]:
62  acdebug.warning("プロジェクトファイルの保存に失敗しました。")
63