大数据处理案例:1、Python批量重命名数据表

本案例根据真实项目改编。

项目组需要对A市某物流公司的信息系统内的货流量数据进行统计并与财务报表核对,来判断是否存在财务造假的情况。该公司信息系统内存在三个维度,可以用来统计货流量,分别为按配送线路汇总,按配送车辆汇总,按配送站点汇总。

需求:统计三个指标每月的货流量,然后汇总到一张表里做成折线图观察区别。

目前一共有从信息系统导出的为期一年的12个月份的各项指标的明细表,单个维度为一年12张表,三个维度则为36张表。需要将这些表按月份重命名

觉得手动重命名36个文件方便的可以划出去了。(删掉)

并不是所有信息系统导出数据的接口都做了给导出文件按一定规则重命名的功能,且有时候它的命名格式也不是我们想要的。本例从信息系统导出的文件全是同一个名字,因下载到同一个文件夹被系统加上了(x)的序号。

这里的(0)是我手动加上的,方便后续统一处理。

然后获取文件夹中所有的文件数量,作为循环次数,然后设定重命名规则,文件名前缀不变,后缀变成x年x月。规则也很简单,月份在12月之前,每循环一次加一,12月之后月份变为1月,同时年份加1。对应编号为几的文件修改为对应月份。代码如下:

import os

# 设定你想要重命名的文件所在的目录,'.' 表示当前目录
directory = 'F:/'
files = [f for f in os.listdir(directory) if os.path.isfile(os.path.join(directory, f))]
# 设定起始序号(根据需要修改)
start_number = 0
datetime=6
year=2023
for file in files:
    # 分离文件名和扩展名
    old_file_path = os.path.join(directory, f"车辆指标数据表 ({start_number}).xlsx")
    new_file_name = f"车辆指标数据表{year}年{datetime}月.xlsx"
    # 构建新文件的完整路径
    new_file_path = os.path.join(directory, new_file_name)

    # 使用os.rename()重命名文件
    try:
        os.rename(old_file_path, new_file_path)
        print(f"文件已成功从 {old_file_path} 重命名为 {new_file_path}")
    except FileNotFoundError:
        print(f"文件 {old_file_path} 未找到。")
    except Exception as e:
        print(f"重命名文件时发生错误:{e}")

    if(datetime<12):
        datetime+=1
    else:
        datetime=1
        year+=1
    start_number+=1

备注:

有人说都有按顺序的标号了为什么不按文件名进行排序,然后按顺序直接赋值就行了,这种方法固然美好,但要注意的是,在资源管理器中的按文件名顺序排序,到python中顺序就不一样了,以这种方法进行赋值的话,编号为(10),(11)的会排在(2)的前面,所有命名的顺序就全乱了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值