6000字长文,带你用Python完成 “Excel合并(拆分)” 的各种操作!(四)

简介: 6000字长文,带你用Python完成 “Excel合并(拆分)” 的各种操作!(四)

实现代码如下:


import xlrd
import xlsxwriter
import os
# 打开一个Excel文件,创建一个工作簿对象
def open_xlsx(file):
    fh=xlrd.open_workbook(file)
    return fh
# 获取sheet表的个数
def get_sheet_num(fh):
    x = len(fh.sheets())
    return x
# 读取文件内容并返回行内容
def get_file_content(file,shnum):
    fh=open_xlsx(file)
    table=fh.sheets()[shnum]
    num=table.nrows
    for row in range(num):
        rdata=table.row_values(row)
        datavalue.append(rdata)
    return datavalue
def get_allxls(pwd):
    allxls = []
    for path,dirs,files in os.walk(pwd):
        for file in files:
            allxls.append(os.path.join(path,file))
    return allxls
# 存储所有读取的结果
datavalue = []  
pwd = "G:\\d"                          
for fl in get_allxls(pwd):
    fh = open_xlsx(fl)     
    x = get_sheet_num(fh)  
    for shnum in range(x):
        print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...")
        rvalue = get_file_content(fl,shnum)   
# 定义最终合并后生成的新文件
endfile = "G:\\d\\concat.xlsx"
wb1=xlsxwriter.Workbook(endfile)
# 创建一个sheet工作对象
ws=wb1.add_worksheet()
for a in range(len(rvalue)):
    for b in range(len(rvalue[a])):
        c=rvalue[a][b]
        ws.write(a,b,c)
wb1.close()
print("文件合并完成")


效果如下:

image.png


3. 将一个Excel表中的多个sheet表合并,并保存到同一个excel


实现代码如下:


import xlrd
import pandas as pd
from pandas import DataFrame
from openpyxl import load_workbook
excel_name = r"D:\pp.xlsx"
wb = xlrd.open_workbook(excel_name)
sheets = wb.sheet_names()
alldata = DataFrame()
for i in range(len(sheets)):
    df = pd.read_excel(excel_name, sheet_name=i, index=False, encoding='utf8')
    alldata = alldata.append(df)       
writer = pd.ExcelWriter(r"C:\Users\Administrator\Desktop\score.xlsx",engine='openpyxl')
book = load_workbook(writer.path)
writer.book = book  
# 必须要有上面这两行,假如没有这两行,则会删去其余的sheet表,只保留最终合并的sheet表
alldata.to_excel(excel_writer=writer,sheet_name="ALLDATA")
writer.save()
writer.close()


效果如下:

image.png


4. 将一个Excel表,按某一列拆分成多张表


实现代码如下:


import pandas as pd
import xlsxwriter
data=pd.read_excel(r"C:\Users\Administrator\Desktop\chaifen.xlsx",encoding='gbk')
area_list=list(set(data['店铺']))
writer=pd.ExcelWriter(r"C:\Users\Administrator\Desktop\拆好的表1.xlsx",engine='xlsxwriter')
data.to_excel(writer,sheet_name="总表",index=False)
for j in area_list:
    df=data[data['店铺']==j]
    df.to_excel(writer,sheet_name=j,index=False)
writer.save()  #一定要加上这句代码,“拆好的表”才会显示出来


效果如下:

image.png

相关文章
|
2月前
|
人工智能 Java Linux
Python高效实现Excel转PDF:无Office依赖的轻量化方案
本文介绍无Office依赖的Python方案,利用Spire.XLS、python-office、Aspose.Cells等库实现Excel与PDF高效互转。支持跨平台部署、批量处理、格式精准控制,适用于服务器环境及自动化办公场景,提升转换效率与系统稳定性。
326 7
|
2月前
|
机器学习/深度学习 监控 数据挖掘
Python 高效清理 Excel 空白行列:从原理到实战
本文介绍如何使用Python的openpyxl库自动清理Excel中的空白行列。通过代码实现高效识别并删除无数据的行与列,解决文件臃肿、读取错误等问题,提升数据处理效率与准确性,适用于各类批量Excel清理任务。
362 0
|
5月前
|
开发工具 Python
使用Python和OpenAPI将云上的安全组规则填写入Excel
本文介绍如何通过Python脚本自动化获取阿里云安全组及其规则信息,并将结果导出为Excel表格。相比CLI命令行方式,Python实现更高效、便捷,适用于需要批量处理和交付的场景。
使用Python和OpenAPI将云上的安全组规则填写入Excel
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
2062 10
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析,别再死磕Excel了!
Python数据分析,别再死磕Excel了!
300 2
|
12月前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分到不同的工作表中。本文通过一个示例代码展示了如何生成一个包含总成绩表和三个班级表的Excel文件。代码首先创建了一个包含学生姓名、班级和各科成绩的数据框,然后按班级分组,将每个班级的数据分别写入不同的工作表。最后,生成的Excel文件将包含四个工作表,分别为总成绩表和三个班级的成绩表。
216 6
按条件将Excel文件拆分到不同的工作表
|
11月前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
10月前
|
机器学习/深度学习 存储 数据可视化
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
本书介绍了如何将Python与Excel结合使用,以提升数据分析和处理效率。内容涵盖Python入门、pandas库的使用、通过Python包操作Excel文件以及使用xlwings对Excel进行编程。书中详细讲解了Anaconda、Visual Studio Code和Jupyter笔记本等开发工具,并探讨了NumPy、DataFrame和Series等数据结构的应用。此外,还介绍了多个Python包(如OpenPyXL、XlsxWriter等)用于在无需安装Excel的情况下读写Excel文件,帮助用户实现自动化任务和数据处理。
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
804 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
12月前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分为多个工作表。本文通过一个具体示例,展示了如何根据学生班级将成绩数据拆分到不同的工作表中,并生成一个包含总成绩表和各班级成绩表的Excel文件。代码简洁明了,适合初学者学习和应用。
353 6

推荐镜像

更多