1.利用Excel中开发工具[https://blog.csdn.net/ntotl/article/details/79141314](https://blog.csdn.net/ntotl/article/details/79141314)
(1)打开需要拆分的Excel文件,Alt+F11打开VBE窗口;
(2)插入——模块,输入代码:

Sub 保留表头拆分数据为若干新工作簿()Dim arr, d As Object, k, t, i&, lc%, rng As Range, c%c = Application.InputBox("请输入拆分列号", , 4, , , , , 1)If c = 0 Then Exit SubApplication.ScreenUpdating = FalseApplication.DisplayAlerts = Falsearr = [a1].CurrentRegionlc = UBound(arr, 2)Set rng = [a1].Resize(, lc)Set d = CreateObject("scripting.dictionary")For i = 2 To UBound(arr)If Not d.Exists(arr(i, c)) ThenSet d(arr(i, c)) = Cells(i, 1).Resize(1, lc)ElseSet d(arr(i, c)) = Union(d(arr(i, c)), Cells(i, 1).Resize(1, lc))End IfNextk = d.Keyst = d.ItemsFor i = 0 To d.Count - 1With Workbooks.Add(xlWBATWorksheet)rng.Copy .Sheets(1).[a1]t(i).Copy .Sheets(1).[a2].SaveAs Filename:=ThisWorkbook.Path & "\" & k(i) & ".xls".CloseEnd WithNextApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueMsgBox "完毕"
End Sub

转自https://blog.csdn.net/ntotl/article/details/79141314代码。

注意分拆分后的Excel文件格式为xls。
(3)开发工具——插入——按钮


会形成一个按钮,点击该窗体控件,加载刚刚建立的宏,设置拆分序列号,即根据哪一列属性拆分(class)。
(4)完成操作

2.VBA批量将xls文件转换成xlsx文件
(1)新建一个Excel(与需要转换文件同一目录);
(2)输入代码:

Sub xls2xlsx()
Dim FilePath, MyFile, iPath, Name, OutPath As String
iPath = ThisWorkbook.Path
OutPath = Dir(iPath & "\xlsx", vbDirectory)
If OutPath = "" ThenMkDir (iPath & "\xlsx")
End If
MyFile = Dir(iPath & "\*.xls")If MyFile <> "" Then
DoOn Error Resume NextIf MyFile = ThisWorkbook.Name Then MyFile = DirWorkbooks.Open (iPath & "\" & MyFile)MyFile = Replace(MyFile, ".xls", ".xlsx")Name = "\" & MyFileFilePath = iPath & "\xlsx" & NameApplication.ScreenUpdating = FalseActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=FalseWorkbooks(MyFile).Close TrueApplication.ScreenUpdating = TrueMyFile = Dir
Loop While MyFile <> ""
End If
End Sub

运行结束!

3.反过来将一个文件夹下所有Excel文件进行合并
代码:

# -*- coding: utf-8 -*-
import os
import pandas as pddef listdir(path): #传入根目录file_list = []for file in os.listdir(path):file_path = os.path.join(path, file) #获取绝对路径if os.path.isdir(file_path): #如果还是文件夹,就继续迭代本函数listdir(file_path)elif os.path.splitext(file_path)[1] == '.xls' or os.path.splitext(file_path)[1] == '.xlsx': #判断文件是否是Excel文件file_list.append(file_path)return file_list #返回Excel文件路径列表if __name__ == '__main__':path="D:/"file_names=listdir(path)frames = []try:for file_name in file_names:print("---------------BEGAIN---------------\n 正在合并:")ls_data = pd.read_excel(file_name)df = pd.DataFrame(data=ls_data)#print(df)frames.append(df)result = pd.concat(frames, ignore_index=True)print(result)result.to_excel("../merge_C.xlsx", index=False)print(file_name + "已合并")except Exception as e:print(e)print("写入失败!")#pass

按照某列属性拆分Excel文件相关推荐

  1. python 数据处理----读取txt 一列数据写入excel 文件

    将txt数据从某一行开始写入excel文件中(例子为从Appthroughput写至excel_result1.xlsx中) import sys import random import time ...

  2. Python批量拆分Excel文件中已合并的单元格

    中国大学MOOC"Python程序设计基础"第4次开课 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大 ...

  3. php按一列拆分excel表格,excel表格要根据某一列数据拆分-excel怎么按照某一列拆分表格...

    求助:一张excel表,希望按照某列内容(比如某列为... 是把这一列进行筛选或者排序,然后不断制到新表中,如果较多,可以VBA进行自动的复制和新建文件. 如果需要代劳,可以[百度云盘](一个使用百度 ...

  4. python怎样按某一列值拆分Excel表格

    pd.ExcelWriter@python 用python按某一列拆分Excel工作表,将内容写入一个工作簿 本次以"按照表中的某一列,将一张表格拆分为多张表"的需求为例,简单介绍 ...

  5. python拆分excel文件

    当我们遇到一些很大的文件时,如果把所有的数据全部加入到内存当中处理,当文件比较小时还好,但是问价你很大时,这种方式是很不好的,当超过十几个G的文件时,我们该如何处理呢? python可以很好的处理这个 ...

  6. python使用openpyxl库按 行/列 合并/拆分 Excel表格

    文章目录 1.准备数据 按行合并 按行拆分 按列合并 按列拆分 保存文件 1.准备数据 准备一个名为test1的excel文件,该工作簿里有sheet1,sheet2,sheet3,sheet4四个工 ...

  7. python怎么读取excel某一行某一列-python3读取excel文件只提取某些行某些列的值方法...

    今天有一位同学给了我一个excel文件,要求读取某些行,某些列,然后我试着做了一个demo,这里分享出来,希望能帮到大家: 首先安装xlrd: pip3 install xlrd 然后上代码: imp ...

  8. C# 按部门拆分excel文件

    按照所属部门不同将excel文件拆分成多个文件 string excel_path = @"G:\zhyue\backup\2018-08-01 读取腾讯邮箱接口-获取一个月内未接收到外部邮 ...

  9. python处理数据——根据某列拆分excel文件

    需求 这里想要把一个大excel根据某列拆分为多个小的excel,再投递到队列中,以提高处理效率. 实现方法 这里的python代码非常简单: import pandas as pd import o ...

  10. python 列联表自动拆分_python自动化办公:实现按照一列内容拆分excel

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 作者:卡卡 来源:卡卡的霍格莫德小镇 用python将某一列按照内容分成多个excel 我们经常会 ...

最新文章

  1. 重装 Linux 记录
  2. python elasticsearch 入门教程(二) ---全文搜索
  3. 使用 Edit + MASM 5.0 编译器 + Linker 连接器
  4. knot in ship
  5. EFCore查询语句生成流程、让EFCore支持批量Update/Delete/MergeInto
  6. 新年元旦海报设计模板|具有浓厚中国风味的画面
  7. html表格的系列代码,HTML系列(八):表格(示例代码)
  8. 怎么提升企业数据分析能力
  9. Web 前端视频资源分享(Bootstrap/Vue/小程序)
  10. 什么是图像上的频率?
  11. Chapter 6 (Orthogonality and Least Squares): Least-Squares problems (最小二乘问题)
  12. android有道翻译api,有道智云自然翻译服务API
  13. OpenCL(matmpy)
  14. ppt模板网站哪个好
  15. SVG_9_线性颜色渐变_竖排文字_动画
  16. Cloudera Manager 环境搭建
  17. Unity3D 程序最简单的开机启动——创建快捷方式
  18. 苹果云服务icloud_苹果手机通讯录突然没了怎么办?分享简单的补救技巧
  19. 克里斯坦森的破坏性创新—《可以量…
  20. dsf5.0修改不了头像

热门文章

  1. gatewayworker配置php,tp5整合GatewayWorker
  2. php 简繁体字同时显示_(C++/php/Swift/Go/Ruby 篇)2020 年最火编程语言出炉!关键特性、普及程度、薪资全方位解读...
  3. javaweb——jsp(学习总结,javaweb必备技能)
  4. : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versi
  5. linux内存分段管理,Linux內存管理之分段機制
  6. linux字符串处理命令,linux 命令之 字符串处理命令——paste
  7. Javascript特效:音乐导航
  8. scapy获取ip_如何使用scapy从数据包中读取整个ip层和tcp层?
  9. easyui下拉选项多怎么解决_30岁以后皮肤松弛皱纹越来越多怎么办?这组瑜伽帮你解决...
  10. 企业知识管理与协同软件Confluence搭建与配置