精华内容
下载资源
问答
  • python拆分excel表格
    2022-07-30 09:59:26

    代码

    import pandas as pd
    def shop(file_name = "test.xlsx",sep=["条件1","条件2"],to_file="路径"):
            data = pd.read_excel(file_name)
            pro_data = data.groupby(sep)
            for [i, j], n in pro_data:
                    new_file_name = str(to_file + "_" + i + "_" + j + ".xlsx")
                    n.to_excel(new_file_name)

    更多相关内容
  • 最近遇到一个需求,就是要把一个Excel表格按照不同的维度进行拆分。相信很多人都碰到过这种问题,如果你是人事,你每个月都要把考勤情况发送给不同的部门;如果你是财务,你每个月可能要把报销情况发给不同的负责人...

    最近遇到一个需求,就是要把一个Excel表格按照不同的维度进行拆分。相信很多人都碰到过这种问题,如果你是人事,你每个月都要把考勤情况发送给不同的部门;如果你是财务,你每个月可能要把报销情况发给不同的负责人;如果你是老师,可能要把不同班级的成绩发送给不同的班主任。但是,如果要手动来拆分表格的话,将会耗费大量的时间。那么我们就想到把这部分工作使用Python自动化。

    首先我们要导入需要使用的包:

    import pandas as pd

    import csv

    接着要读取需要拆分的表格:

    df = pd.read_csv('C:/Users/export_0001.csv',engine='python',encoding='utf-8')

    df = df.reset_index()

    df.head()

    我们先看一下这张表:

    总共只有两列,我们需要按照不同的cid_name,来把人拆分出来。接下来就要看看,这些人总共分为多少维度:

    最后一步就是分类拿出人群,并且导出表格:

    for i in cid:

    df_gg = df[df['cid_name']==i]

    path = 'C:/Users/Desktop/'+ i.replace('/','') +'.csv'

    df_gg['buyer_nick'].to_csv(path, index=None,encoding='utf_8_sig',header=True)

    print(i)

    print('牛逼')

    结果就是这样:

    从分类到拆分表格一气呵成,甚至我们还可以把这些文件通过邮件的方式自动发送给不同的人,当然也是通过Python来完成。感兴趣的读者可以去看一下我之前邮件发送部分的内容。

    展开全文
  • 主要为大家详细介绍了Python将一个Excel拆分为多个Excel,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 工作中经常会出现需要将数据按一定的条件拆分并分发给不同的收件人的情况,今天就来给大家分享一下如何使用python拆分Excel表格并分发邮件。以下表(2019年下半年销量数据表)数据为例:首先我们需要一张包含收件人...

    工作中经常会出现需要将数据按一定的条件拆分并分发给不同的收件人的情况,今天就来给大家分享一下如何使用python拆分Excel表格并分发邮件。

    以下表(2019年下半年销量数据表)数据为例:

    0823dd54564e92585e0be577dfbdad5eccbf4e35.png?token=88717c9394d0c8fd22ac9af46326b19c

    首先我们需要一张包含收件人邮箱列表的Excel表格,具体数据如下图所示:

    9825bc315c6034a8a3eb52ed8f2c355209237613.png?token=f274ea720da58eb5e78fff95e85e2151

    具体代码:

    #导入模块

    import pandas as pd

    from email.mime.text import MIMEText

    from email.mime.application import MIMEApplication

    from email.mime.multipart import MIMEMultipart

    from email.header import Header

    import smtplib

    #定义编写邮件函数

    def create_email(email_from,email_to,email_subject,email_text,annex_path,annex_name):

    #发件人,收件人,主题,正文,附件地址,附件名称

    #创建一个带附件的实例

    message=MIMEMultipart()

    #生成发件人名称

    message['From']=Header(email_from,'utf-8')

    #生成收件人名称

    message['to']=Header(email_to,'utf-8')

    #生成邮件主题

    message['Subject']=Header(email_subject,'utf-8')

    #邮件正文内容

    message.attach(MIMEText(email_text,'plain','utf-8'))

    #构造附件

    xlsxpart=MIMEApplication(open(annex_path, 'rb').read())

    xlsxpart.add_header('Content-Disposition', 'attachment', filename=('gbk', '', annex_name))

    #注意:此处annex_name要转换为gbk编码,否则中文会有乱码。

    #将附件内容插入邮件中

    message.attach(xlsxpart)

    #返回邮件

    return message

    #定义发送邮件函数

    def send_email(sender,password,receivers,msg):

    #发件人邮箱,密码,收件人邮箱列表,邮件内容,发送邮件的函数

    try:

    #找到发件人邮箱的服务器地址,以加密形式发送 server=smtplib.SMTP_SSL("smtp.qq.com", 465)

    #发件人邮箱服务器地址,端口(这是QQ邮箱的SMTP服务器地址和端口)

    #server.ehlo()

    #登录账号

    server.login(sender,password)#发件人邮箱账号,密码

    #发送邮件 server.sendmail(sender,receivers,msg.as_string())

    print('邮件发送成功')

    server.quit()#关闭连接

    except Exception:

    print(traceback.print_exce())

    #读取收件人列表数据

    data=pd.read_excel(r'.\收件人列表.xlsx',encoding='gbk')

    #拆分工作簿数据

    workbook_path=r".\2019年下半年销量数据表.xlsx"

    split_column='省份'

    file_path=r".\拆分数据\2019年下半年销量数据表"

    #读取工作簿数据

    df=pd.read_excel(workbook_path,encoding='gbk')

    #将拆分列转化为列表

    split_list=list(set(df[split_column]))

    #拆分工作簿

    for i in split_list:

    dff=df[df[split_column]==i]

    #拆分后文件的完整保存路径

    filename=file_path+"——"+i+".xlsx"

    #保存工作簿

    dff.to_excel(filename,sheet_name=i,index=False)#i ndex=False忽略索引

    print("工作簿拆分完成")

    #发送邮件

    for j in split_list:

    my_email_from='XXXX'

    my_email_to='拆分Excel表格并发送邮件'

    my_email_subject=j+'2019年下半年销量数据表.xlsx'

    my_email_text='Dear all,\n\t附件为2019年下半年销量数据表,请查收!'

    my_annex_path=file_path+"——"+j+".xlsx"

    my_annex_name=j+'2019年下半年销量数据表.xlsx'

    #调用编写邮件函数

    my_msg=create_email(my_email_from,my_email_to,my_email_subject,my_email_text,my_annex_path,my_annex_name)

    my_sender='1049754823@qq.com'

    my_password='usiaeeyfxceybaii'

    my_receivers=list(data['收件人邮箱'][data['份']==j[0]

    #调用发送邮件函数

    send_email(my_sender,my_password,my_receivers,my_msg)

    邮件发送效果如下:

    9c16fdfaaf51f3decb3bdc65d2d18c193b2979ef.png?token=dbd12c22db8339a45adfe07d675b8108

    注:使用第三方的SMTP服务发送邮件,需要先打开相应邮箱的SMTP服务,QQ邮箱配置方法如下图:

    3b292df5e0fe992593f1f02e769722d98cb17190.jpeg?token=0f49d7bf826757adf63135078716639d

    使用Python SMTP发送邮件的其他方式可参考网址:

    https://www.runoob.com/python/python-email.html

    喜欢

    分享

    or

    展开全文
  • Python实现Excel拆分操作

    千次阅读 热门讨论 2021-07-24 19:55:56
    前言:对于Excel表格中数据量众多,若想要将Excel表按列分割成为各个独立的子表需要大量的时间,但若通过Python程序实现,将会节省大量的时间,提高工作效率,而这也是Python的魅力所在,本篇文章引用网上的一个案例...

    前言:对于Excel表格中数据量众多,若想要将Excel表按列分割成为各个独立的子表需要大量的时间,但若通过Python程序实现,将会节省大量的时间,提高工作效率,而这也是Python的魅力所在,本篇文章引用网上的一个案例为例子进行操作介绍,同时也欢迎大家一起交流,共同进步。


    通常在从事业务工作的同学们经常会遇到这样的一个问题,就是需要把一个汇总的excel表按列分成若干个新的Excel表,即:

    Python拆分Excel文件

     或者:

    7bd06ec6a7bc2a76cd9cd00d10b104e3.png

     需要针对不同供应商拆分成独立的子表格进行商品动销分析。

    下图为拆分后的结果,每个供应商会是一个单独的Excel文件产出:

    acd0045850b92fb0b2659438602ff408.png
    拆分后子表内容是单个独立供应商所有的商品动销数据:

    e21c92431b0c844d1670dc0434e5085a.png 

    (以上表格数据来源于网上 )

    Python代码的实现

    一、针对唯一sheet的Excel表拆分

    #步骤一:读取表格
    import pandas as pd
    dirPath = input('请输入源文件地址:')
    path = dirPath + 'xxx指标体系.xlsx'
    
    orgName = pd.read_excel(path)
    org_list = list(orgName['xx公司'].drop_duplicates())
    print(org_list)
    
    
    #步骤二:完成表格的拆分
    for i in org_list:
        writer = pd.ExcelWriter(dirPath+i+'指标体系.xlsx')
        tempdata = orgName[orgName['xx公司']==i]
        tempdata.to_excel(writer,index = False)
        writer.save()
        writer.close()

    二、针对多个sheet的Excel表拆分

    #步骤一:读取表格
    import pandas as pd
    dirPath = input('请输入源文件地址:')
    path = dirPath + 'xx指标体系.xlsx'
    
    orgName = pd.read_excel(path)
    org_list = list(orgName['xx公司'].drop_duplicates())  #去掉重复值
    print(org_list)
    
    
    #步骤二:获取excel_sheet名称并完成表格的拆分
    d_read = pd.read_excel(path,None) 
    names = list(d_read.keys())
    print(names)
    
    for i in org_list:
        writer = pd.ExcelWriter(dirPath+i+'xx指标体系周报%s.xlsx')
        for name in names:
            print(name)
            tempsheet = pd.read_excel(path,sheet_name=name)
            tempdata = tempsheet[tempsheet['xx公司']==i]
            tempdata.to_excel(writer, sheet_name = name,index = False)
        writer.save()
        writer.close()

    让我们一起,为梦想窒息。

    展开全文
  • 本文利用Python的pandas包实现了以上场景。 注:本示例代码只实现按单列拆分,如果需要多列筛选拆分,请修改本示例中的filter_column_name与city_name_to_list,并多套一层循环。 now, show u the code:  # -*- ...
  • Python数据分析】利用Python实现EXCEL一个表格按条件拆分为多个表格。想获取代码文件,请微信关注微信公众号“闲谈项目管理”,对话框回复“数据分析案例1”即可获得文件下载链接。
  • python拆分excel表单,生成单独的excel文件,网上这方面的文章很多。但大多只讲主功能如何实现,让拆分后的表保持和原表单一致的格式,则鲜有人讲。本文通过调用copy库,完美实现带格式拆分表单,过程说明如下:我们...
  • # -*- coding: utf-8 -*-"""Created on Tue Sep 18 10:54:17 2018@author: libbyo"""import osimport pandas as pdimport openpyxldef read_excel(filename):"""读入excel,返回dataFrame"""df = pd.read_excel...
  • math.ceil(nrows / limit) print('拆分文件数量:{}'.format(sheets)) workbook = xlwt.Workbook(encoding='ascii') for i in range(int(sheets)): if i == 0: start_row = 0 else: start_row = i*limit if i == ...
  • 【利用python+pandas 拆分excel表格

    千次阅读 2021-12-17 16:15:26
    利用python拆分excel表格 我们常常会遇到一个表格中包含各种类型的数据,想要把表格按照不同类型拆分到多个工作簿,使用python几行代码就可以轻松搞定 首先是安装需要的包 先cmd命令行安装下需要的包 pip install ...
  • 前言 本文的文字及图片来源于网络,仅供学习、交流使用,...根据数据内容需求拆分Excel表格是一项需要频繁使用到鼠标的操作。下面的内容——根据工作经验要求拆分Excel表格只是一个简单的事例。 用Excel处理,..
  • Python脚本 - 按行数拆分Excel表格

    千次阅读 2022-04-28 16:59:09
    #实现excel表格按行数分拆的功能 import openpyxl #填入文件名 excel_name_input=input("填写excel文件名称,限定为.xlsx格式 ") excel_name_open=excel_name_input+".xlsx" # 读取对应excel文件,应加入错误提示,...
  • 使用Python进行Excel文件拆分

    千次阅读 2020-06-19 14:50:44
    使用python进行Excel表格拆分,保存为多个文件-运营必会小技能 公司内做数据支持岗位的伙伴(表哥、表姐、表叔、表妹),可能会经常遇到这样的需求,就是把一个Excel数据文件,按照某一列数据分类并拆分成不同的表...
  • == datetime): #转换日期,更加方便,无需datemode打开 data = data.strftime('%Y/%m/%d') list_temp.append(data) #循环获取表格的所有内容 rows.append(list_temp) #cols = sheet.col_values(2) # 获取第三列内容 #...
  • 做好了资产信息表以后需要按照系统名称拆分成小的表格,因为数量很多一个个手动拆分要做到明年去了,所以就扒了一个脚本来做,亲测有效。 # -*- coding: utf-8 -*- #author zoe import pandas as pd # 指定文件名称...
  • 本文使用Python仅使用三行代码即可解决这个问题,实现批量拆分表格。 二、代码 from excel_magic.dataset import Dataset excel_file = Dataset('工资条.xlsx') excel_file.split_sheets_to_file() 三
  • python怎样按某一列值拆分Excel表格

    千次阅读 2021-01-27 19:20:26
    #用python按某一列拆分Excel工作表,将内容写入一个工作簿 本次以“按照表中的某一列,将一张表格拆分为多张表”的需求为例,简单介绍这个过程中用到的pd.ExcelWriter,及每一句的作用。 如上表《学生.xlsx》,假设...
  • import pandas as pd ...data=pd.read_excel(excel_dir) area_list=list(data[u'名称']) #获取列表 for j in area_list: df=data[data[u'名称']==j] df.to_excel('./%s.xlsx'%(j),index=False )
  • 接上一篇,一个ex表排序和分类后,根据分类...一个excel表中有很多数据,class有3种类别,使用pychon拆分ex表,并导出3张ex表。 #第一步:调用pandas包 import pandas as pd #第二步:读入文件 iris = pd.read_excel
  • 准备数据按行合并按行拆分按列合并按列拆分保存文件 1.准备数据 准备一个名为test1的excel文件,该工作簿里有sheet1,sheet2,sheet3,sheet4四个工作表。 数据可以随便设定,示例数据形式如下: sheet1: sheet2...
  • 场景:集团中心下发本省数据时,并未按地市、业务拆分,现需要按地市、业务拆分并分发到地市。本文利用Python的pandas包实现了以上场景。
  • 1 遍历文件夹中的文件,如果excel文件中存在多个sheet,则将这些sheet表拆分处理,分别保存为独立的文件,并存入文件夹中,文件夹名同excel文件名; 2 在文件处理过程中,原表中的格式不能改变。 二、分析及思路 1、...
  • 修改拆分表格的格式,包括列宽、有无框线等; 单独修改某一行的格式:apply_style_by_indexes import pandas as pd from styleframe import StyleFrame, Styler, utils data = pd.read_excel(r"考勤.xls") rows ...
  • # -*- coding: utf-8 -*-"""Created on Tue Sep 18 10:54:17 2018@author: libbyo"...import osimport pandas as pdimport openpyxldef read_excel(filename):"""读入exc...
  • 7、使用python 调整excel表格的行和列 D:\python\demo.xlsx 如下: 调整A1单元格的行高为100磅,列宽为100个字符 >>> import openpyxl >>> excel=openpyxl.load_workbook('D:\\python\\demo.xlsx...
  • 超简单的方法完整保留原有所有样式拆分Excel

    万次阅读 多人点赞 2021-06-21 20:11:02
    有一个Excel表格: 我们希望将其按照指定的字段拆分为多个表格。如果直接用pandas,代码很简单却只能保留数据;如果使用openpyxl,也无法直接设置原有的样式,需要逐个设置会非常麻烦。下面我将使用Excel自带的筛选...
  • 开篇先感谢一下老公(这是他要求的),感谢他帮我写了这Python。分享一拆表的代码。把下表按B列店铺拆成分表,在总表后面加几个分表,分表按店铺命名。做好的效果:VBA的代码太长,Python很简洁,对比一下就可以看...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,353
精华内容 1,341
关键字:

python拆分excel表格