需要创建一个从CSV创建目录结构的脚本

时间:2017-08-07 14:42:18

标签: python linux bash shell csv

初学者程序员。

我需要创建一个脚本,该脚本以相同的格式获取csv文件(或多个csv文件)。该脚本需要逐行读取csv,并使用某些列来提取信息以创建目录结构。然后需要将原始数据文件(其位置在csv中的列中)复制到已创建的新目录结构中。

我在Python中创建了一个脚本,用于在我的用户目录中创建目录结构。但现在我正在使用Linux服务器,所以我想知道我是否应该做任何不同的事情。此外,我的脚本不会将原始数据文件从其位置复制到新的目录结构中。

我是否需要在Bash中对此进行全部编码或将其保留在Python中?

CSV看起来基本上是这样的:

Raw Data File Name-----File Location-----(ParentFolderInfo)-----(SubFolderInfo)-----(ChildFolderInfo)-----...

2 个答案:

答案 0 :(得分:0)

这取决于脚本如何处理文件名。如果您使用Windows样式路径进行简单的字符串操作,则可能存在兼容性问题,但使用os.path module构建文件路径应该可以解决任何问题。

答案 1 :(得分:0)

您可以尝试以下方式:

 awk -F "-----" '{ print "mv "$2" "$3"/"$4"/"$5"/"$6 }' filename | sh

使用awk,将分隔符设置为" -----"然后构建一个移动命令,然后可以打印然后通过管道执行到sh。