楼主: HelianthusLucy
1129 6

[其他] 【Excel求助】按条件批量修改Excel工作表的名称 [推广有奖]

  • 0关注
  • 3粉丝

已卖:73份资源

院士

3%

还不是VIP/贵宾

-

威望
0
论坛币
13430 个
通用积分
90.4246
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
9971 点
帖子
1268
精华
0
在线时间
968 小时
注册时间
2018-3-27
最后登录
2025-12-4

楼主
HelianthusLucy 发表于 2020-2-26 01:00:31 |AI写论文
100论坛币
假设在同一个文件夹中有200个Excel文件,每个文件中有4个工作表,分别记录了主题A、B、C、D的内容,这四个工作表的名称都跟对应的主题相关,但不同Excel文件中同一主题工作表的表名称可能不太一样(虽不相同但有关键字),且不同Excel文件中这四张工作表的排列顺序也不一样。问怎样才能快速地将主题A对应工作表的表名称替换至同一个指定名称?

最佳答案

关键词:excel求助 EXCEL xcel exce cel
不忘初心

沙发
Kun806 学生认证  发表于 2020-2-26 01:00:32
  1. import pandas as pd
  2. import os

  3. if __name__ == "__main__":
  4.     # 获取同一个文件夹中,所有exel的名字
  5.     file_list =  os.listdir("****file_save_path**")
  6.    for filename_i in file_list:
  7.         with pd.ExcelFile("./filename_i") as excel_i:
  8.             sheetname_l = excel_i.sheetnames
  9.             for sheet_i in sheetname_l:
  10.                 if sheet_i.find("keywords"):
  11.                     save_name = "replace_name"
  12.                     temp_file = pd.read_excel(excel_i, sheet_name=sheet_i)
  13.                     temp_file.to_csv("./new_file_name.xlsx", sheet_name=save_name)
  14.                elif:
  15.                     ....................
  16.                else:
  17.                    ......................
复制代码

藤椅
点点DD 学生认证  发表于 2020-2-26 08:15:04
答主好,我想到的是用matlab来编程。首先用dir(路径)返回这个文件夹下面的所有文件名称。之后用循环依次访问每个excel表。然后用xlsinfo(excel_name)来获取每个excel文件所有的工作表名称。可以对每个工作表进行循环,用关键词来判断当前工作表的主题。至于怎么重命名excel的工作表,楼主可以看这个链接,http://blog.sina.com.cn/s/blog_7575087b0102x05w.html

板凳
andeytu 在职认证  发表于 2020-2-26 08:33:11
只能通过程序工具修改,EXCEL没有提供这种办法:
方法/步骤
首先,我们来准备新的名字,对应相应的工作表,从A2单元格开始,A1存放标题字段。
新名字全部准备好后,然后任意工作表标签右击,点击查看代码,或者ALT+F 11快捷键,调出VBE对话框。
进入VBE对话框后,右击thisworkbook,选择插入,然后选择模块。
双击模块,进入代码输入框输入一下代码
Sub 重命名()
Dim i&
For i = 2 To Sheets.Count
Sheets(i).Name = Sheets(1).Cells(i, 1)
Next
End Sub
也可以记住,下次直接粘贴即可,代码通用。
然后点击开发工具选项卡,在控件下面选择按钮控件(开发工具选项卡一般默认是没有的,具体可参考我前面的经验,有具体介绍如何调出)
在空白处,拖动鼠标,画出一个大小适合的按钮,然后右击选择制定宏。
选择重命名,然后点击确定。

报纸
HelianthusLucy 发表于 2020-2-26 08:46:55
andeytu 发表于 2020-2-26 08:33
只能通过程序工具修改,EXCEL没有提供这种办法:
方法/步骤
首先,我们来准备新的名字,对应相应的工作表 ...
谢谢,你提供的这个方法我也看到过,好像是需要一个一个Excel文件打开的?而且也需要对内容本身进行编辑。可能是我没表达清楚,我的想法是希望在不打开任何一个文件的前提下进行操作(因为文件实在太多),而是根据原有表名的关键词来识别每个文件中唯一所需要更名的那张表,然后对其进行名称替换。

地板
Kun806 学生认证  发表于 2020-2-26 13:54:59
Kun806 发表于 2020-2-26 13:51
Python,基本框架就是这样,因为我也不知道你的关键字和主题,就不详说了……

代码中的括号内的内容,需要你对应的修改, save_name对应的值也进行相应的修改……

7
HelianthusLucy 发表于 2020-2-28 22:10:17
Kun806 发表于 2020-2-26 13:54
Python,基本框架就是这样,因为我也不知道你的关键字和主题,就不详说了……

代码中的括号内的内容, ...
谢谢,参照你的思路已经做出来了。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-1 16:20