如何使用Python中的变量来修复文件重命名误差



我试图通过附加变量来重命名一堆文件。每个文件的变量值是从DataFrame DF中称为" Append"的列获得的(其中DF中的File_id与文件名匹配(。运行代码时,我会收到以下错误:

OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'C:/Users/Downloads/Input/\DOC_001.xlsx' -> "C:/Users/Downloads/Input/\DOC_001_1    File Suffix, dtype: object.xlsx"
import os
import glob
dir = 'file path'
for root, directories, files in os.walk(dir):
        for file in files:
            filename, extension = os.path.splitext(file)
            add_text = df.loc[df.FILE_ID.eq(filename), 'APPEND']
            os.rename(os.path.join(root, file), os.path.join(root, "{}_{}{}".format(filename, add_text, extension)))

但是,如果我只使用具有固定字符串值的变量,则可以重命名文件。因此,以下代码有效:

import os
import glob
add_text = "File suffix"
dir = 'file path'
for root, directories, files in os.walk(dir):
        for file in files:
            filename, extension = os.path.splitext(file)
            os.rename(os.path.join(root, file), os.path.join(root, "{}_{}{}".format(filename, add_text, extension)))

请注意,我没有在此处包含pandas dataframe的代码。

我能够弄清楚。

我将一个系列附加到文件名。相反,我需要首先使用item()

从中提取实际项目

这是修改:

add_text = df.loc[df.FILE_ID.eq(filename), 'APPEND'].item()

最新更新