我有一个如下所示的 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))
这将例如:
创建一个名为的文件夹 C:\Users\gpp0020\Desktop\TestDir\metadc108426
将调用的文件复制AR0776-280206-LT513-01.mkv
到其中。
将调用的文件复制AR0776-280206-LT513-01.mkv.md5
到其中。
它假设所有文件都在 path
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句