gpt4 book ai didi

python - 根据值列移动文件python

转载 作者:太空狗 更新时间:2023-10-30 02:51:41 24 4
gpt4 key购买 nike

我想根据 python 数据帧上的一些值在 python 中移动一些文件。

我的脚本已经创建了必要的文件夹和子文件夹,但我想将文件(我的 df 中的每一行都是一个文件/文档)移动到这些文件夹/子文件夹。

我有 4 列(doc_id、文件路径、colA、colB 和 colC) my df

如您所见,我有每个文档的路径。我能够创建文件夹,但我希望我的脚本自动移动(例如):

  • doc1 到名为 value1 的文件夹,其中包含名为 value8 的子文件夹,其中包含名为 othervalues1 的子文件夹
  • 等...

因此在文件夹 value1 中我们将有 3 个子文件夹 --> value8、value11 和 value14

谢谢

最佳答案

我想你没有在你的值(value)观的末尾分隔\或/所以如果不是你调整解决方案:

import pandas as pd
import shutil

def move(src, dest):
shutil.move(src, dest)

df = pd.DataFrame({'doc_id': [1, 2, 3,4,5,6,7,8],
'paths': ['path1', 'path2', 'path3', 'path4', 'path5', 'path6', 'path7', 'path8'],
'colA': ['value1', 'value2', 'value3', 'value1', 'value2', 'value3', 'value1', 'value2'],
'colB': ['value8', 'value9', 'value10', 'value11', 'value12', 'value13', 'value14', 'value15'],
'colC': ['othervalues1', 'othervalues2', 'othervalues3', 'othervalues4', 'othervalues5', 'othervalues6', 'othervalues7', 'othervalues8']
})
#you could use '\\' or '/' for delimiting folder, move calls shutil.move
df.apply(lambda row: move(row['paths'] + '\\doc' + str(row['doc_id']),
row['colA'] + '\\' + row['colB'] + '\\' + row['colC'] + '\\' + 'doc' + str(row['doc_id'])), axis=1)

关于python - 根据值列移动文件python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54862852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com