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

2024-04-25 02:03:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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将它们放入相应的metadc编号中。每个文件加倍(一个.mkv文件和一个.mkv文件)。mkv.md5型校验和文件),两者都需要进入文件夹。你知道吗

最好的办法是什么?你知道吗


Tags: 文件csvpathimport文件夹ositemusers
1条回答
网友
1楼 · 发布于 2024-04-25 02:03:00

使用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

相关问题 更多 >