吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4367|回复: 69
收起左侧

[Windows] python写的一个合并表格工具

  [复制链接]
omar111 发表于 2024-10-14 09:41
python写的一个合并表格工具,可以把文件夹内多个表格按行堆叠合并一个新的表格,简单好用。代码结尾附打包exe命令。

代码截图

代码截图


软件截图

软件截图


[Python] 纯文本查看 复制代码
import os
import tkinter as tk
from tkinter import filedialog
from openpyxl import load_workbook, Workbook


# 定义选择文件夹的函数
def select_folder(entry):
    folder_path = filedialog.askdirectory()
    if folder_path:
        entry.delete(0, tk.END)
        entry.insert(0, folder_path)


# 定义合并Excel文件的函数
def merge_excel():
    folder_path = entry1.get()
    if folder_path:
        # 创建一个新的Workbook
        wb_merged = Workbook()
        ws_merged = wb_merged.active

        # 遍历文件夹中的所有Excel文件
        for filename in os.listdir(folder_path):
            if filename.endswith('.xlsx') or filename.endswith('.xls'):
                file_path = os.path.join(folder_path, filename)
                wb = load_workbook(file_path)

                # 复制工作簿中的所有工作表的所有行
                for ws in wb.worksheets:
                    for row in ws.iter_rows(values_only=True):
                        ws_merged.append(row)

        output_file_path = filedialog.asksaveasfilename(defaultextension=".xlsx", filetypes=[("Excel files", "*.xlsx")])
        if output_file_path:
            wb_merged.save(output_file_path)
            result_label.config(text="文件合并成功!")
        else:
            result_label.config(text="已取消保存。")
    else:
        result_label.config(text="请选择文件夹。")


# 创建主窗口
root = tk.Tk()
root.title("52pj专用合并表格工具")

# 创建框架
frame = tk.Frame(root)
frame.pack(padx=10, pady=10)

# 创建并放置小部件
label1 = tk.Label(frame, text="选择包含Excel文件的文件夹:")
label1.grid(row=0, column=0, sticky="w")
entry1 = tk.Entry(frame, width=50)
entry1.grid(row=0, column=1)
button1 = tk.Button(frame, text="浏览", command=lambda: select_folder(entry1))
button1.grid(row=0, column=2)

merge_button = tk.Button(frame, text="合并Excel文件", command=merge_excel)
merge_button.grid(row=1, column=0, columnspan=3)

result_label = tk.Label(frame, text="")
result_label.grid(row=2, column=0, columnspan=3)

# 启动主循环
root.mainloop()
# 终端执行打包exe命令(pyinstaller -F -w 文件夹表格合并.py)

免费评分

参与人数 5吾爱币 +5 热心值 +4 收起 理由
foxmulder + 1 + 1 看什么书,怎么学,学多久能会做这个?我想做一个比较几个excel不同处并标 ...
nndyky + 1 + 1 鼓励转贴优秀软件安全工具和文档!
linzixiaocao + 1 + 1 表格合并非常实用 感谢分享
zephyrcn + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
shengruqing + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

nojon 发表于 2024-10-14 09:53
本帖最后由 nojon 于 2024-10-14 09:56 编辑

谢谢分享,分流一下载地址:

https://luojiang.lanzouw.com/idfxP2chz0vi

免费评分

参与人数 2吾爱币 +1 热心值 +1 收起 理由
yanglinman + 1 谢谢@Thanks!
jyz710 + 1 谢谢@Thanks!

查看全部评分

showhand 发表于 2024-10-14 10:32
omar111 发表于 2024-10-14 10:23
先合并然后筛选去重删除就行了,Excel表格自带工具就行了

代码执行复制时,加个判断是不是第一个excel档,第一个excel档复制全部的行,其余都从第二行开始复制。是不是就能一步到位完成合并了
6122008 发表于 2024-10-14 09:45
wuha68666 发表于 2024-10-14 09:48
这个好,试用一下
 楼主| omar111 发表于 2024-10-14 09:49

https://www.wenshushu.cn/f/fbiwbvm9d88
中转站24小时有效
jiangtaixiaozhu 发表于 2024-10-14 10:02
感谢分享
丑到变态 发表于 2024-10-14 10:03
啥也不说了,感谢楼主分享哇!
lchgucg 发表于 2024-10-14 10:12
感谢楼主分享,可以导出到word里面吗
 楼主| omar111 发表于 2024-10-14 10:14
lchgucg 发表于 2024-10-14 10:12
感谢楼主分享,可以导出到word里面吗

没明白你的意思
游所为 发表于 2024-10-14 10:15
感谢,看看怎么样,之前用excle的VB,现在办公主要WPS,VB还要购买
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 07:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表