从 csv 中的单列创建文件夹并使用其他列将文件重命名为文件夹

档案管理员G

我有一个如下所示的 csv 文件:

dc_identifier,aubrey_identifier
AR0776-280206-LT513-01,metadc1084267
AR0776-280206-LT513-02,metadc1083385
AR0776-280206-LT513-03,metadc1084185
AR0776-280206-LT513-04,metadc1083449
AR0776-280206-LT513-05,metadc1084294
AR0776-280206-LT513-06,metadc1083393
AR0776-280206-LT513-07,metadc1083604
AR0776-280206-LT513-08,metadc1083956
AR0776-280206-LT513-09,metadc1083223
AR0776-280206-LT513-10,metadc1084224

我需要在脚本所在的目录中创建带有“metadc#######”名称的文件夹。

这是我到目前为止所拥有的:

import os
import fileinput
path = 'C:\Users\gpp0020\Desktop\TestDir'

textFile = 'C:\Users\gpp0020\Desktop\TestDir\kxas_ids.csv'

myList = open(textFile, 'rb+')
for line in myList:
    for item in line.strip().split(','):
        os.makedirs(os.path.join(path, item))
        print 'created', item

然而!AR0776-280206-LT513-01根据csv,我还需要该程序来抓取以标识符(等)命名的文件并将它们放入相应的元数据中。每个文件都加倍(一个 .mkv 文件和一个 .mkv.md5 校验和文件)并且都需要进入文件夹。

解决这个问题的最佳方法是什么?

马丁·埃文斯

使用csv库帮助读取文件:

import csv
import os
import shutil

path = r'C:\Users\gpp0020\Desktop\TestDir'

with open('kxas_ids.csv', 'r', newline='') as f_input:
    csv_input = csv.reader(f_input)
    header = next(csv_input)

    for dv, aubrey in csv_input:
        os.makedirs(os.path.join(path, aubrey), exist_ok=True)
        mkv = '{}.mkv'.format(dv)
        shutil.copy2(os.path.join(path, mkv), os.path.join(path, aubrey, mkv))
        mkv_md5 = '{}.mkv.md5'.format(dv)
        shutil.copy2(os.path.join(path, mkv_md5), os.path.join(path, aubrey, mkv_md5))

这将例如:

  1. 创建一个名为的文件夹 C:\Users\gpp0020\Desktop\TestDir\metadc108426

  2. 将调用的文件复制AR0776-280206-LT513-01.mkv到其中。

  3. 将调用的文件复制AR0776-280206-LT513-01.mkv.md5到其中。

  4. 它假设所有文件都在 path

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

重命名多个csv文件夹中的csv列

使用 CSV 中的 powershell 创建文件夹

重命名文件夹中的所有 .csv

使用 Import-Csv 重命名各种文件夹中的特定文件

根据字典以CSV文件的形式重命名文件夹?

动态创建文件夹并将CSV文件写入该文件夹

从csv / txt文件创建文件夹和子文件夹

Knime循环将csv文件写入其他文件夹中?

如何使用 exiftool 将文件重命名为 CSV 导入文件中包含的新名称

使用 CSV 文件为 AD 用户创建文件夹会产生错误的文件夹名称

剥离CSV文件中的列并将其保存到其他文件夹

使用c#在csv中基于文本创建文件夹

我可以使用Powershell基于.CSV文件重命名子文件夹中的文件吗

从CSV删除列,然后保存在其他文件夹路径中

批处理文件以从 CSV 读取文件名并重命名文件夹中的文件

使用PowerShell脚本创建文件夹,然后从csv修改创建日期

根据csv中的第1行动态创建文件夹

使用makedirs将文件夹转换为csv文件

将数据帧保存到 .csv 并在不指定文件路径的情况下创建文件夹

Powershell扫描文件夹中的2个CSV文件并重命名其中之一

如何从一个热编码的csv文件创建文件夹?

将文件复制到其他文件夹,然后将其重命名为当前日期

将新创建的文件夹的名称放在csv文件的路径中

我想使用Python 3将目录中的所有.txt文件重命名为.csv

(Automator / AppleScript)将文件重命名为文件夹名称,保存到其他文件夹并添加前缀

将 CSV 保存在文档文件夹中

将子文件夹中的文件批量重命名为父文件夹名称

将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

将文件夹中的文件重命名为一个名称