表格合并工具

1次阅读
没有评论

在数据处理日益重要的今天,Python编写的表格合并工具为.xlsx和.xls格式文件的整合提供了简单明了且高效的解决方案。该工具的核心优势在于其简易的操作流程和快速的数据处理能力,使得即使是非技术人员也能轻松完成复杂的多源数据整合任务。

1.简易操作: 用户仅需提供待合并的Excel文件列表和输出文件路径,工具即能自动执行所有后续步骤。无论是通过命令行指令还是图形用户界面(GUI),操作都极为直观,极大地降低了使用门槛。

2.快速高效: 利用`pandas`、`openpyxl`和`xlrd`库的强大功能,该工具能够迅速读取、处理并保存Excel文件,确保不同版本间的兼容性。它能有效减少人工干预的时间成本与潜在错误,使数据更新和同步变得即时而准确。

3.灵活性强: 工具不仅支持批量处理多个文件,还能根据用户需求定制化开发额外功能,如数据清洗、重复值去除、字段匹配等,以适应各种应用场景。这种灵活性使得工具可以广泛应用于不同的业务环境中。

4.提升协作: 从个体用户到大型企业,此工具都能显著提高工作效率,增强跨部门之间的信息共享和协作。它简化了数据整理工作,促进了更流畅的信息流通,成为优化业务流程的重要助力。

工具链接:https://wwtg.lanzouo.com/i3Rly2k2mlsb 密码:0000

操作界面大道至简,支持批量合并(ctrl+a全选,支持多选),自定义输出路径,命名我已经自定义了时间戳,操作非常非常简单。

代码。

[Asm] 纯文本查看 复制代码

import os
import pandas as pd
from tkinter import Tk, filedialog, messagebox, Listbox, Button, END, MULTIPLE
from datetime import datetime
def select_files():
files = filedialog.askopenfilenames(
title="选择Excel文件",
filetypes=(("Excel文件", "*.xlsx *.xls"), ("所有文件", "*.*"))
)
listbox.delete(0, END)
for file in files:
listbox.insert(END, file)
def merge_selected_files():
selected_indices = listbox.curselection()
if not selected_indices:
messagebox.showwarning("警告", "未选择任何文件")
return

combined_df = pd.DataFrame()
for index in selected_indices:
file_path = listbox.get(index)
try:
# 检测文件类型并使用适当的引擎
if file_path.endswith('.xlsx'):
df = pd.read_excel(file_path, sheet_name=0, engine='openpyxl', dtype=str)
elif file_path.endswith('.xls'):
df = pd.read_excel(file_path, sheet_name=0, engine='xlrd', dtype=str)
else:
raise ValueError(f"不支持的文件类型: {file_path}")

combined_df = pd.concat([combined_df, df], ignore_index=True)
except Exception as e:
messagebox.showerror("错误", f"读取文件 {file_path} 失败: {e}")
return

output_folder = filedialog.askdirectory(title="选择输出文件夹")
if not output_folder:
messagebox.showwarning("警告", "未选择输出文件夹")
return

timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
output_file = os.path.join(output_folder, f"合并后的表格_{timestamp}.xlsx")

try:
combined_df.to_excel(output_file, index=False, engine='openpyxl')
messagebox.showinfo("成功", f"合并后的数据已保存到 {output_file}")
except Exception as e:
messagebox.showerror("错误", f"保存合并后的数据失败: {e}")
# 设置主窗口
root = Tk()
root.title("合并Excel文件")
# 创建列表框用于显示选择的文件
listbox = Listbox(root, selectmode=MULTIPLE, width=80, height=20)
listbox.pack(padx=10, pady=10)
# 添加按钮以选择文件
select_button = Button(root, text="选择文件", command=select_files)
select_button.pack(side="left", padx=10, pady=10)
# 添加按钮以合并选定的文件
merge_button = Button(root, text="合并选定的文件", command=merge_selected_files)
merge_button.pack(side="right", padx=10, pady=10)
# 运行主循环
root.mainloop()

正文完
 0
116博客
版权声明:本篇文章由 116博客 于2025-02-06发表,共计2358字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码