在数据处理的日常工作中,经常会遇到需要对 Excel 表格中的数据进行清洗和分列的情况。今天,就给大家分享一个使用 Python 开发的实用工具,它能够快速、准确地完成这项任务,并且具备良好的交互界面,方便非技术人员使用。
代码基本上可以实现了,没有精力完善了 可以配置config去修改规则去清洗,我这边写死的因为不怎么需要那些就没有写了
一、工具功能概述
这款工具专注于处理 Excel 文件中特定列的数据,将其按照预设规则进行分列和清洗,最终生成格式规整的新 Excel 文件。主要功能亮点如下:
(一)动态列顺序调整
不再受限于固定的列输出顺序,工具会根据实际存在的数据列,智能地将列顺序动态调整为期望的格式。例如,输出列只会包含像 “基本单位”“辅助单位 1”“辅助规格 1” 等实际有数据的列,避免了无效的空白列,使数据展示更加清晰直观。
(二)强大的数据处理能力
- 支持多种数据格式:目前版本已支持常见的.xlsx 文件格式,轻松应对日常办公中的 Excel 文件类型。
- 精准数据提取:能够从用户指定的列中读取数据,按照 “数量单位 / 规格” 的模式,精准地将复杂的文本数据拆分成一个个有意义的单元,如数量、单位、规格等。哪怕数据格式存在一些小瑕疵,工具也能通过完善的错误处理机制给出友好提示,确保处理流程不中断。
(三)贴心的用户交互
- 简洁易用的界面:通过 Tkinter 库构建的图形化界面,操作一目了然。只需在输入框输入要处理的 Excel 列号(从 1 开始计数),点击 “清洗分列” 按钮,就能轻松启动数据处理流程。
- 智能反馈:在处理过程中,无论是文件不存在、解析错误,还是列索引错误等情况,都会及时弹出带有详细错误信息的提示框,让用户迅速了解问题所在并进行调整。例如,如果辅助单位 1 存在空值,工具会贴心地询问用户是否要将其替换为基本单位,给予用户自主决策的权利。
二、代码解析
import os import tkinter as tk from tkinter import filedialog, messagebox import pandas as pd # 定义更新日志字符串 UPDATE_LOG = """ 更新日志: 版本 6.1 重构版(2024-12-14): - 动态调整列顺序功能,根据实际存在的列来决定输出列。 版本 6.0 重构版(2024-12-11): - 支持xlsx,抛出处理数据问题,暂不支持精准定位行数,索引分列单位位置 - 优化数据处理流程,提高数据分列准确性与稳定性。 - 完善错误处理机制,对文件不存在、解析错误、列索引错误等情况给出更友好提示。 - 调整界面布局,适当增大窗口尺寸以更好展示元素,添加版本号显示。 - 改进辅助单位1空值处理逻辑,增加用户交互选择是否替换。 - 优化列名设置与列顺序调整功能,适配新的数据结构与业务需求。 """ # 配置项 CONFIG = { "i