python - 更改文件夹中 csv 文件的名称

标签 python xlrd

我想要重命名的文件夹中有数百个 CSV 文件。有一个 Excel 工作表,其中包含要重命名的文件夹中的文件名称。

示例:
让我们考虑一个名为 TestData_30April.csv 的 CSV 文件,该文件位于文件夹中。我希望将其重命名为 0.25-TestData_30April.csv。 X 列中的 Excel 工作表包含要重命名的名称(0.25-TestData_30April.csv)。 同样,Excel 工作表包含要重命名的文件夹中所有文件的名称。

这是代码:

import os

import xlrd

#Excel Sheet containing name of files to be renamed in that folder

path="C:\\Users\\Desktop\\Test_Data\\Test_Summary.xlsx"

wb = xlrd.open_workbook(path) 

sheet = wb.sheet_by_index(0)

sheet.cell_value(0, 0)

#In excel sheet column X or col_values(23) contains the file name to be renamed

print(sheet.col_values(23))  

#Below line contains all the csv sheets

os.rename('C:\\Users\\Desktop\\AllData',sheet.col_values(23)) 

我希望将文件夹中的文件重命名为 Excel 工作表中的名称。如何将 Excel 工作表中的数据映射到该文件夹​​以便进行重命名?

最佳答案

迭代列中的所有值。删除名称中的数字前缀以获得原始名称,然后进行重命名。

dir = r'C:\Users\Desktop\AllData'
new_names = sheet.col_values(23)
for new_name in sheet.col_values(23):
    if '-' in new_name:
        old_name = new_name.split("-")[1]
        if os.path.isfile(os.path.join(dir, old_name)):
            os.rename(os.path.join(dir, old_name), os.path.join(dir, new_name))

关于python - 更改文件夹中 csv 文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55946227/

相关文章:

excel - 在 Ironpython 中使用 XLRD

python 模拟方法返回模拟而不是 return_value?

python - 简单Python代码中的语法错误

python - Scikit-image:无法导入名称 'label'

python - 在 python 中使用 openpyxl 模块编写 xlsx 文件

python - 有效地从列表中删除重复项

python xlrd 将 xlsx 转换为 csv

python - 无法使用 Python 打开 Excel 文件

python - Flask - 函数映射正在覆盖现有端点函数

java - 如何将 python 模块添加到 jython/lib 中?