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

相关文章
|
22天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
64 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
52 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
2月前
|
Python
python读写操作excel日志
主要是读写操作,创建表格
64 2
|
2月前
|
IDE 开发工具 数据安全/隐私保护
Python编程--实现用户注册信息写入excel文件
Python编程--实现用户注册信息写入excel文件
21 1
|
2月前
|
索引 Python
Excel学习笔记(一):python读写excel,并完成计算平均成绩、成绩等级划分、每个同学分数大于70的次数、找最优成绩
这篇文章是关于如何使用Python读取Excel文件中的学生成绩数据,并进行计算平均成绩、成绩等级划分、统计分数大于70的次数以及找出最优成绩等操作的教程。
74 0
|
2月前
|
存储 Python
Python实战项目Excel拆分与合并——合并篇
Python实战项目Excel拆分与合并——合并篇
62 0
|
2月前
|
存储 Python 容器
Python实战项目:Excel拆分与合并
Python实战项目:Excel拆分与合并
47 0
|
2月前
|
自然语言处理 搜索推荐 程序员
【Python】如何使用pip,安装第三方库和生成二维码、操作Excel
【Python】如何使用pip,安装第三方库和生成二维码、操作Excel
47 0
|
2月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
100 4
|
1天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####