我有一个包含三列的csv文件:第一列有两个不同的条目“坏”或“好”。第2列中的不同条目是learn、query和test,第三列是文件路径名,指示在何处查找文件
bad test vff/v1/room_10-to-room_19_CDFFN5D5_x_0000
bad test vff/v1/room_10-to-room_19_BVFGFGN5D5_x_0023
bad learn vff2/v3/room_01-to-room_02_ERTY8LOK_x_00039
bad learn vff/v3/room_01-to-room_02_TRT8LOK_x_00210
bad query vff/v3/room_16-to-room_08_56TCS95_y_00020
bad query vff2/v3/room_16-to-room_08_856C6S95_y_00201
good test person/room_44/exit_call_room__5818
good test person/room_34/cleaning_pan__812
good learn person/room_43/walking_in_cafe_edited__717
good learn person/room_54/enterit_call_room__387
good query person/room_65/talki_speech_cry__1080
good query person/room_75/walking_against_wall__835
使用这个csv,我想基于Column 2创建三个文件夹。所以基本上,使用第2列创建三个文件夹,即test、learn和query。在这3个文件夹中,我想根据第1列创建两个文件夹,即坏文件夹和好文件夹。然后能够使用第3列提取数据,并将相应的文件放在这些定义的文件夹中。是否有python或命令行脚本可以做到这一点
假设此csv文件名为
file.csv
在这个
bash
脚本中发生的一些事情:cut
此命令对于从delimiter
分隔列表中选择n'th
项非常有用。在本例中,我们使用的是csv
,因此您将看到cut -d ','
将逗号指定为分隔符李>cut -f 2
列表是外部for循环,cut -f 1
是内部for循环sort -u
删除重复出现的字符串。这允许我们迭代给定列的所有不同条目file.csv
中的每一行都包含一个需要移动的文件,因此需要对文件中的每一行进行迭代。然后从第2列和第1列中提取前面创建的目录,并将文件移动到新的主目录相关问题 更多 >
编程相关推荐