【学习】:Python合并多个Excel到一个Excel
2023-12-13 11:14:52
最近尝试了一下基于Python脚本来合并Excel的表格;
下面是相关代码:
📢注意:需要安装openpyxl插件
import os
import openpyxl
from openpyxl.styles import Font,Alignment
from openpyxl import Workbook,load_workbook
# 需要安装openpyxl插件
# pip install openpyxl
# 出现下面错误:
# Requirement already satisfied: openpyxl in /opt/anaconda3/lib/python3.9/site-packages (3.0.10)
# 解决方式下面脚本:
# pip install --target=/opt/anaconda3/lib/python3.9/site-packages openpyxl
#----------------------------------------------------------#
#--------------------------代码开始--------------------------#
# 定义data暂存数据
data = []
#遍历文件夹中的所有文件,这里路径修改为各自系统的路径,windows是反斜线方式:Desktop\merge
for i in os.listdir(r'/python表格合并'):
#判断文件名是否以'.xlsx'结尾
if i.endswith('.xlsx'):
#读取文件路径,这里路径修改为各自系统的路径,windows是反斜线方式:Desktop\merge
wb = load_workbook(r'/python表格合并/'+i)
info = wb['Sheet1']
#获取行数
rows = info.max_row
#按照行数循环读取数据(减去两行标题)
for row in range(rows-2):
# 按行读取每个字段中的值
A = info.cell(3+row,1).value
B = info.cell(3+row,2).value
C = info.cell(3+row,3).value
D = info.cell(3+row,4).value
E = info.cell(3+row,5).value
F = info.cell(3+row,6).value
#判断是否整行都是空值
if A and B and C and D and E and F != None:
# 将读取的值以列表形式保存
list = [A,B,C,D,E,F]
# 将列表list写入data中
data.append(list)
else:
continue
else:
continue
#新建excel
wb = Workbook()
#新建sheet表
sheet = wb.active
#merge_cells()函数合并单元格
sheet.merge_cells('A1:F1')
#确定写入位置
title = sheet.cell(1,1)
#确定写入内容
title.value = '销售订单信息登记表'
#字体为粗体的设置
font = Font(bold=True)
#字体位置水平居中、垂直居中的设置
alignment = Alignment(horizontal='center',vertical='center')
#将变量title变为粗体
title.font = font
#将变量title水平、垂直居中
title.alignment = alignment
#excel表头字段列表
list = ['订单编号','商品名称','单位','订单总额','订单状态','发货状态']
for i in range(len(list)):
#通过循环将表头字段写入excel
sheet.cell(2,i+1).value = list[i]
#通过循环将字体加粗
sheet.cell(2,i+1).font = font
#通过循环将内容居中
sheet.cell(2,i+1).alignment = alignment
#按照data中的列表数量循环
for row in range(len(data)):
#将data中的数据写入之前新建的sheet表
sheet.append(data[row])
#保存excel表,表名和位置自定义。
wb.save('total.xlsx')
#--------------------------代码结束--------------------------#
#----------------------------------------------------------#
- 如果对你有用,请给个在看,谢谢~~欢迎各位留言交流,
- 如有不正确的地方,请予以指正。【W:编程心声】
- 如有任何问题,关注公众号编程心声后,留言即可。
文章来源:https://blog.csdn.net/XinTeng2012/article/details/134964362
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!