当前位置: 首页 > news >正文

Python数据处理:文件的自动化重命名与整合

Python数据处理:文件的自动化重命名与整合

本文将介绍如何使用Python自动化处理财务报表文件,实现从个体公司到行业维度的数据整合。

需求

在实际工作中,我们通常会收集到多家公司的财务报表,文件命名格式为"公司名称_报表类型.csv",例如"某软件有限公司_资产负债表.csv"。当需要进行行业分析时,我们希望将同类型的报表整合,重命名为"行业_报表类型.csv"的格式。手动操作不仅耗时,还容易出错,因此自动化处理成为必然选择。

解决方案

以下是一个Python脚本,可以自动扫描指定文件夹中的CSV财务报表文件,并按照报表类型进行重命名:

import os
import pandas as pd
import re# 指定文件夹路径
folder_path = r"D:\123"# 检查文件夹是否存在
if not os.path.exists(folder_path):print(f"文件夹 {folder_path} 不存在")exit(1)# 获取文件夹中的所有文件
files = os.listdir(folder_path)# 定义文件类型和对应的新命名模式
file_types = {"资产负债表": "行业_资产负债表.csv","利润表": "行业_利润表.csv","现金流量表": "行业_现金流量表.csv"
}# 处理文件
processed_count = 0
for file in files:if file.endswith(".csv"):# 查找匹配的文件类型for file_type in file_types:if file_type in file:# 找到匹配的文件类型old_path = os.path.join(folder_path, file)new_path = os.path.join(folder_path, file_types[file_type])# 如果目标文件已存在,先删除if os.path.exists(new_path):os.remove(new_path)# 重命名文件os.rename(old_path, new_path)print(f"已将 {file} 重命名为 {file_types[file_type]}")processed_count += 1breakprint(f"处理完成,共重命名 {processed_count} 个文件")

代码解析

1. 环境准备

首先导入必要的库:os用于文件操作,pandas用于数据处理,re用于正则表达式匹配(虽然在当前代码中未使用,但在更复杂的匹配场景中很有用)。

2. 文件夹路径设置

指定要处理的文件夹路径,并验证其是否存在。这是一个基本的错误处理机制,确保在文件夹不存在时及时终止程序。

3. 文件类型定义

创建一个字典,将原始报表类型映射到目标文件名。这样设计使代码更具扩展性,如果日后需要处理更多类型的报表,只需在字典中添加对应映射即可。

4. 文件处理循环

遍历文件夹中的所有文件,对每个CSV文件进行处理:

  • 检查文件名是否包含我们关注的报表类型
  • 构建原路径和新路径
  • 如果目标文件已存在,先删除它(避免命名冲突)
  • 重命名文件
  • 输出处理结果并计数

5. 结果统计

最后输出处理的文件总数,方便用户了解操作结果。

在这里插入图片描述

相关文章:

  • jmeter-Beashell获取请求body data
  • 【统计方法】交叉验证:Resampling, nested 交叉验证等策略 【含R语言】
  • 【go】defer捕获panic案例,自存档
  • .NET 平台详解
  • 什么是DNS缓存?怎么清理DNS缓存?
  • 从数据到决策:安科瑞EIoT如何让每一度电“清晰可见”?
  • SpringMVC再复习1
  • 元宇宙2.0:当区块链成为数字世界的宪法
  • 阿里云服务器 篇十二:加入 Project Honey Pot 和使用 http:BL
  • Scrapy框架之CrawlSpider爬虫 实战 详解
  • React 第三十四节 Router 开发中 useLocation Hook 的用法以及案例详解
  • 初识Redis · 缓存
  • git配置SSH KEY
  • 怎么查自己手机连接的ip归属地:完整指南
  • JAVA-使用Apache POI导出数据到Excel,并把每条数据的图片打包成zip附件项
  • 项目三 - 任务2:创建笔记本电脑类(一爹多叔)
  • 飞鸟游戏模拟器 1.0.3 | 完全免费无广告,内置大量经典童年游戏,重温美好回忆
  • Rust Ubuntu下编译生成环境win程序踩坑指南
  • MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep 是怎样练成的?
  • Git操作指令
  • 夜读丨跷脚牛肉乐翘脚
  • 海南儋州市委副书记任延新已赴市人大常委会履新
  • 澎湃思想周报丨数字时代的育儿;凛冬已至好莱坞
  • 央行回应美债波动:单一市场、单一资产变动对我国外储影响总体有限
  • 四川落马厅官周海琦受审,1000多人接受警示教育
  • 格力电器去年净利增长一成:消费电器营收下滑4%,一季度净利增长26%