数据科学路障在这里…我需要重命名972文件根据一个.csv文件,有这些972文件的多个属性。
它们有一个共同点,那就是Image Data ID
列的值。在文件名中,这个数字(6位数)出现在名称的最后一部分,就在“.nii”之前
我已将.csv文件加载到Pandas数据库中。下面是一个例子,它看起来像什么:
Image Data ID Subject Group Visit Description
516 277576 027_S_2245 EMCI 4 ACCELERATED SAG IR-SPGR
525 342645 027_S_2183 EMCI 4 ACCELERATED SAG IR-SPGR
1 292394 131_S_0123 CN 26 Accelerated SAG IR-SPGR
3 475763 131_S_0123 CN 32 Accelerated SAG IR-SPGR
4 413872 131_S_0123 CN 30 Accelerated SAG IR-SPGR
字符串
也许用图像格式更容易理解:
的数据
文件名列在一个列表中,使用以下命令完成:
files = os.listdir("path/to/files")
型
下面是文件名的示例:
ADNI_098_S_4215_MR_Sag_IR-SPGR__br_raw_20130206130502189_10_S173103_I343697.nii
ADNI_094_S_2201_MR_Accelerated_SAG_IR-SPGR__br_raw_20120119112855332_188_S137442_I279199.nii
ADNI_127_S_4240_MR_Sag_IR-SPGR__br_raw_20120925151831011_194_S168683_I336697.nii
型
因此,本质上,我想做的是通过Image Data ID
的值在其各自的.CSV行中识别文件,并将其重命名为:
EMCI_027_S_2245_4_Accelerated.nii
型
或
CN_134_S_0233_32_Normal.nii
型
(取决于Description
是否有加速字样)
有什么建议吗?
2条答案
按热度按时间2skhul331#
从我所看到的,这是我的建议:
字符串
编辑:要创建函数id_from_file_name,您可以执行以下操作:
型
pengsaosao2#
-用简单的脚本新的答案-
在MacOS上测试:
只需将您的2列导出到名为map.csv的文件中,并将其格式设置为:
字符串
创建shell脚本rename.sh并更改变量folder_path、csv_file和file_extension:
型
用
sh rename.sh
启动脚本“魔术师,你来吧。- )