使用pandas、xlwings、os 库文件,对Excel文件,按某一列拆分成多个Excel文件或sheet,提高工作效率。

# -*- coding: utf-8 -*-

"""

Created on Sun Jan 31 09:32:40 2021

@author: lam

"""

class tables:

def __init__(self,dirname=None,filename=None,column_name=None,save_file_name=None):

self._dirname = dirname

self._filename = filename

self._column_name = column_name

self._save_file_name = save_file_name

def mk_dir(self,dirname=None):

import os

if dirname:

self._dirname = dirname

if os.path.exists(self._dirname):

print(self._dirname,'已存在!')

else:

os.mkdir(self._dirname)

print('创建文件夹:',self._dirname)

return self._dirname

def read_data(self,filename=None):

import pandas as pd

if filename:

self._filename = filename

return pd.read_excel(self._filename)

def save_same(self):

df = self.read_data(filename=None)

import xlwings as xw

app =xw.App(visible=False,add_book=True)

wb = xw.Book()

_dirname = self.mk_dir(dirname=None)

for col in set(df[self._column_name]):

sth = wb.sheets.add(col)

sth.range(1,1).value = df[df[self._column_name]==col].set_index(self._column_name)

import os

path = os.path.dirname(__file__)

excelfile = path+'\\'+_dirname+'\\'+self._save_file_name+'.xlsx'

wb.save(excelfile)

print('已保存:%s'%excelfile)

wb.close()

return "运行结束!"

def save_diff(self):

df = self.read_data(filename=None)

import xlwings as xw

app =xw.App(visible=False,add_book=True)

wb = xw.Book()

_dirname = self.mk_dir(dirname=None)

for col in set(df[self._column_name]):

sth = wb.sheets[0]

sth.range(1,1).value = df[df[self._column_name]==col].set_index(self._column_name)

import os

path = os.path.dirname(__file__)

excelfile = path+'\\'+_dirname+'\\'+str(col)+'.xlsx'

wb.save(excelfile)

sth.clear()

print('已保存:%s'%excelfile)

wb.close()

return "运行结束!"

def save_file(self):

if self._save_file_name :

self.save_same()

else:

self.save_diff()

if __name__=='__main__':

#拆分后要存放的运行程序下的文件夹名称

dirname = 'filename'

#要读取的excel文件

filename = '20181119-26.xlsx'

#对某一列中的值进行拆分

column_name = '反馈人员'

#可选参数保存同到1个文件不同的sheet中,save_file_name=None保存到不同的文件中。

save_file_name = '测试表'

table = tables(dirname,filename,column_name,save_file_name)

table.save_file()

print python excel分隔_办公自动化 Python 小工具,对Excel文件,按某一列拆分成多个Excel文件或sheet...相关推荐

  1. 将excel按照某一列拆分成多个单独文件

    1.打开目标excel,按alt + f11键打开VBE窗口 2.选择插入->模块粘贴下面代码到编辑器中 代码: Sub 保留表头拆分数据为若干新工作簿()Dim arr, d As Objec ...

  2. excel自动排班表_造价拒绝熬夜!全套Excel工程计算表格+必备小工具,无偿领

    造价拒绝熬夜!全套Excel工程计算表格+必备小工具,无偿领 从事造价工作,总是要面临很多繁琐的工程算量数据.对于造价老手来说,有了一定的工作经验,面对复杂多样的数据,还是相当淡定.但对于新手来说,却 ...

  3. python按某列拆分excel表格_利用Python+Pandas实现从一个excel表中提取列形成新表

    简要 利用python实现把一个工作表中的某些列,和其中单独的一列,提取成为一个个新表. 如图(处理前)蓝色部分是需要保留的列,红色是需要一项一项分出来作为单独表格的列. 其中,第一行的名字是用的回车 ...

  4. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  5. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  6. python拆分excel的sheet为单文件_WPS 2019 多个sheet表拆分成独立的excel文件

    参考: 场景:将多个sheet表拆分成独立的excel文件 一.安装VB工具: 默认情况下:wps -- 开发工具 --- VB 编辑器是灰选状态(即不可用状态),此时需要先安装vb工具:VBA Fo ...

  7. python图像处理——图片区域颜色替换小工具

    python图像处理--图片区域颜色替换小工具 使用场景 图片区域颜色替换小工具使用python开发,可用于选取图片相同颜色的区域,可设定选择精度,可自由选择颜色,将区域的颜色进行替换.可使用橡皮擦工 ...

  8. 用Python做了一个法律查询小工具,非常好用

    用Python做了一个法律查询小工具,非常好用 效果展示 准备工作 主要代码 哈喽兄弟,今天给大家分享一个Python tkinter制作法律查询小工具. 光爬虫大家也只能自己用用,就算打包了exe, ...

  9. 懒人小工具1:winform自动生成Model,Insert,Select,Delete以及导出Excel的方法

       懒人小工具2:T4自动生成Model,Insert,Select,Delete以及导出Excel的方法    github地址:https://github.com/Jimmey-Jiang/J ...

最新文章

  1. 数字化绩效管理解决方案,评估周期缩短80%,成本下降60%
  2. CUBA在查询语句如何添加参数
  3. 用VS连接oracle数据库时ORA-12504错误
  4. 在oracle中通过connect by prior来实现递归查询!
  5. markdown 语法_Markdown 基本语法
  6. Win10如何屏蔽删除电脑右下角的广告
  7. shell脚本判断上一个命令是否执行成功
  8. linux /etc/group文件详解
  9. AngularJS 使用 Promise
  10. curl 没有到主机的路由_安装RaspAP将树莓派变身为无线路由器
  11. python selenium中文文档-selenium-python中文版文档
  12. 转 海量数据处理(2)
  13. ROS的学习(十八)使用rosserial创建一个publisher
  14. C#操作XML的完整例子——XmlDocument篇(转载,仅做学习之用)
  15. SQL将A库表的数据插入B库的某张表
  16. 2k显示无法连接服务器,NBA2K18无法连接服务器怎么办 无法连接服务区解决方法一览...
  17. View和ViewGroup的区别
  18. 如何用计算机打出平方,如何用电脑打出平方?平方米符号输入方法介绍
  19. 距离度量(Distance Metric)方法
  20. 软件工程毕业设计课题(78)微信小程序毕业设计PHP校园食堂就餐预约小程序系统设计与实现

热门文章

  1. prctl函数 linux,正确使用prctl()的方法
  2. 程序员面试常见问题-长期更新
  3. 51单片机:LED流水灯的设计(两种方法)
  4. 一张图看懂OSI 7层模型
  5. 科目二 坐得高低 对看点的影响
  6. antd表格为空时横杠
  7. 使用linux系统的手机有哪些内容吗,为什么工作选LINUX,我只听说过手机有这个系统...
  8. 2019年沪牌首拍结果出炉 中标率7.6%
  9. html+css+javascript实现倒数计时
  10. 密码找回安全总结-业务安全测试实操(29)