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

相关文章
|
23天前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
41 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
12天前
|
Python
python读写操作excel日志
主要是读写操作,创建表格
46 2
|
1月前
|
Python
Python 自动化操作 Excel - 02 - xlwt
Python 自动化操作 Excel - 02 - xlwt
40 14
|
1月前
|
Python
Python 自动化操作 Excel - 03 - xlutils
Python 自动化操作 Excel - 03 - xlutils
32 13
|
1月前
|
IDE 开发工具 数据安全/隐私保护
Python编程--实现用户注册信息写入excel文件
Python编程--实现用户注册信息写入excel文件
|
24天前
|
索引 Python
Excel学习笔记(一):python读写excel,并完成计算平均成绩、成绩等级划分、每个同学分数大于70的次数、找最优成绩
这篇文章是关于如何使用Python读取Excel文件中的学生成绩数据,并进行计算平均成绩、成绩等级划分、统计分数大于70的次数以及找出最优成绩等操作的教程。
48 0
|
29天前
|
存储 Python
Python实战项目Excel拆分与合并——合并篇
Python实战项目Excel拆分与合并——合并篇
|
29天前
|
存储 Python 容器
Python实战项目:Excel拆分与合并
Python实战项目:Excel拆分与合并
|
30天前
|
自然语言处理 搜索推荐 程序员
【Python】如何使用pip,安装第三方库和生成二维码、操作Excel
【Python】如何使用pip,安装第三方库和生成二维码、操作Excel
35 0
|
26天前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。