本教程将编写使用如下格式的CSV文件进行以下操作的脚本。
波形文件名 | Cue名 | Cue ID | 注释 |
---|---|---|---|
Alert.wav | SE1000_Alert | 1000 | 警报 |
Attack_03.wav | SE1001_Attack | 1001 | 攻击 |
ObjectAppearance.wav | SE1002_ObjectAppearance | 1002 | 出现 |
~ | ~ | ~ | ~ |
本教程使用了 项目的创建和在Cue上注册波形文件 教程中创建的项目。
没有打开项目时,请打开项目,或执行 项目的创建和在Cue上注册波形文件 所创建的脚本后开始此教程。
在脚本菜单中选择“脚本列表...”,显示出脚本列表窗口。
单击脚本列表窗口中的新建按钮,按以下名称创建脚本文件。
脚本的保存目标 | 脚本文件名 |
---|---|
tutorials [CRI] | tutorial07-1_importcsv.py |
双击已创建的脚本,用 从脚本编辑器运行脚本 打开。
要通过脚本列表窗口确认脚本概要,按照以下脚本说明来编写。
编写脚本说明后,导入以下模块来用脚本操作CRI Atom Craft。
为了读取CSV文件,需要导入Python的标准程序库的csv模块。
导入 Project模块 以进行项目操作,同时导入 debug模块 以输出日志。
设置要读取的CSV的路径。
指定教程波形文件夹’tutorial_data/tutorial_data03’下方的 tutorial_data3.csv 。
写入脚本时如下。
要读取的CSV文件中仅编写了波形文件名,而不是波形文件的完整路径。
要注册使用了 register_material 函数的波形文件时,需要指定完整路径。
此教程在后面创建波形文件的完整路径,因此先将波形文件的文件夹路径“data_dir”和“CSV路径“csv_path”分开来定义变量。
文件不存在时,可以通过 os.path.isfile 函数中断脚本,以检查文件是否存在。
读取的CSV信息中编写了波形文件名和要创建的Cue的信息。
请使用以下函数,进行用于注册波形文件的素材文件夹的获取,以及用于创建Cue的Cue Sheet的创建。
函数名 | 说明 |
---|---|
get_workunit | 获取工作单元 |
get_material_rootfolder | 获取工作单元的素材根文件夹 |
get_cuesheet_rootfolder | 获取工作单元的Cue Sheet根文件夹 |
create_object | 指定类型后创建对象 |
要创建的Cue Sheet名称将使用不包括扩展名的CSV文件名。
写入脚本时如下。
要从CSV的路径中提出无扩展名的文件名时,使用os模块的 os.path.splitext 函数、 os.path.basename 函数。
os.path.basename 函数从路径字符串中获取文件名。
os.path.splitext 函数是在最后(最右侧)的点"."处分割字符串。
将这两个函数组合使用,获取无扩展名的文件名。
以下是实际进行CSV文件读取、素材注册和Cue创建的处理。
读取CSV文件时,使用csv模块的 csv.reader 函数。
用 open 函数打开文件,获取文件对象,在 csv.reader 函数中指定。
使用以下函数,逐行读取CSV文件的内容,注册素材并创建Cue。
函数名 | 说明 |
---|---|
register_material | 注册波形文件并创建素材 |
create_simple_cue | 从素材使用信息新建简单的Cue |
set_values | 批量设置指定的对象的参数 指定时使用关联数组,将键作为字段名、将值作为参数值的字符串 |
写入脚本时如下。
使用for控制语句,从reader变量逐行获取CSV的内容。
获取了的CSV的数据按照“,(逗号)”进行分割,并以数组形式保存在row中。
row中按照“波形文件名、Cue名、Cue ID、注释”的顺序进行保存。
按顺序逐个获取信息,注册波形文件,创建素材,创建Cue,然后针对创建的Cue, 将从 CSV 获取的“Cue名、Cue ID、注释”信息保存在关联数组中,使用 set_values 进行设置。
以上步骤显示了如何从CSV文件注册波形文件并创建Cue的处理。 最后请编写项目保存处理。
本教程的脚本编写到此为止。
请保存并执行脚本。
正常运行脚本后,如下会按照CSV文件的信息,创建Cue Sheet“tutorial_data3”,并在其中创建Cue。