📊 通用数据处理系统

v2.0 使用手册

📖 系统简介

通用数据处理系统是一款功能强大的集合运算和文本处理工具,适用于数据清洗、文本格式化、集合运算等多种场景。系统采用直观的三框操作界面,支持丰富的集合运算和文本处理功能。

注意:除集合操作外的其它大多数功能操作都是针对获得焦点窗口的操作。因此,若对某一个窗口操作时,先在该窗口点击一下使其获得焦点(该文本框背景会变色),然后再执行相关的命令操作。例如,想把B窗口的内容复制到A窗口,先在B窗口中点击一下,然后点击复制命令,接着在A窗口中点击一下,然后点击粘贴命令。

核心特性

  • 支持完整的集合运算(差集、并集、交集、对称差、笛卡尔积等)
  • 丰富的文本处理功能(大小写转换、前缀后缀添加、正则替换等)
  • 数据操作(排序、去重、去空行等)
  • 数据统计和分析
  • 操作历史记录和撤销功能
  • 文件读写支持

🖥️ 界面说明

系统主界面分为三个文本框区域:

📌 文本框 A - 输入集合 A

用于输入或加载第一个数据集。点击文本框可将其设为当前操作对象。

📌 文本框 B - 输入集合 B

用于输入或加载第二个数据集。点击文本框可将其设为当前操作对象。

📌 文本框 C - 结果显示

用于显示集合运算结果,也可作为当前操作对象进行处理。

提示:点击任意文本框,该文本框背景会变色,表示它是当前操作对象。所有对单个文本框的操作都会应用到此文本框。

🔢 集合运算

📌 集合运算说明:所有集合运算均以记录行为单位进行,每一行为一条完整记录。一行字符串中可以包含空格、制表符等任意字符,但系统不会以空格为分隔符进行拆分。

差集运算 (A - B)

返回在 A 中但不在 B 中的元素。

例子 1:找出 A 独有元素
集合 A
苹果 香蕉 橙子 葡萄
集合 B
香蕉 橙子 西瓜
结果 (A - B)
苹果 葡萄
例子 2:清理黑名单数据
名单 A
张三 李四 王五 赵六
黑名单 B
王五 赵六
结果 (A - B)
张三 李四

差集运算 (B - A)

返回在 B 中但不在 A 中的元素。

例子:找出 B 独有元素
集合 A
apple banana orange
集合 B
banana grape watermelon
结果 (B - A)
grape watermelon
注意:每个单词都是一行一条记录。

并集运算 (A ∪ B)

返回 A 和 B 中所有不重复的元素。

例子 1:合并两个名单
名单 A
员工1 员工2 员工3
名单 B
员工3 员工4 员工5
结果 (A ∪ B)
员工1 员工2 员工3 员工4 员工5
注意:每个员工信息一行一条记录。
例子 2:汇总关键词
关键词 A
Python Java C++
关键词 B
Java JavaScript Go
结果 (A ∪ B)
Python Java C++ JavaScript Go

交集运算 (A ∩ B)

返回同时在 A 和 B 中的元素。

例子 1:找出共同好友
好友列表 A
小明 小红 小刚 小美
好友列表 B
小刚 小美 小强
结果 (A ∩ B)
小刚 小美
注意:每个好友一行一条记录,整行内容进行比较。
例子 2:找出重复数据
数据 A
12345 67890 54321
数据 B
67890 54321 98765
结果 (A ∩ B)
67890 54321

拼接运算 (A + B)

将 A 和 B 简单拼接,不去重,保留原始顺序。

例子:合并日志文件
日志 A
[2024-01-01] 开始 [2024-01-02] 处理中
日志 B
[2024-01-03] 完成 [2024-01-04] 结束
结果 (A + B)
[2024-01-01] 开始 [2024-01-02] 处理中 [2024-01-03] 完成 [2024-01-04] 结束

对称差运算

返回在 A 或 B 中,但不同时在两者中的元素。

例子:找出差异项
库存 A
商品1 商品2 商品3
库存 B
商品3 商品4 商品5
结果
商品1 商品2 商品4 商品5
注意:每个商品一行一条记录。

笛卡尔积运算

将 A 中每个元素与 B 中每个元素进行组合。

例子 1:生成组合
前缀 A
红 蓝 绿
后缀 B
色 色的
结果
红色 红色的 蓝色 蓝色的 绿色 绿色的
注意:每个颜色或后缀都是一行一条记录,将 A 的每一行与 B 的每一行进行拼接。
例子 2:生成测试用例
输入 A
user1 user2
输入 B
@test.com @example.com
结果
user1@test.com user1@example.com user2@test.com user2@example.com

✏️ 文本处理

以下操作会应用到当前选中的文本框。

转大写

将所有字母转换为大写。

例子
操作前
hello world python java
操作后
HELLO WORLD PYTHON JAVA

转小写

将所有字母转换为小写。

例子
操作前
HELLO WORLD PYTHON JAVA
操作后
hello world python java

首字母大写

将每行首字母转为大写,其余字母转为小写。

例子
操作前
apple BANANA orange
操作后
Apple Banana Orange

添加前缀

在每一行开头添加指定的前缀。

例子:添加编号前缀
操作前
第一项 第二项 第三项
添加前缀 ">> "
>> 第一项 >> 第二项 >> 第三项
例子:添加URL前缀
操作前
index.html about.html contact.html
添加前缀 "https://example.com/"
https://example.com/index.html https://example.com/about.html https://example.com/contact.html

添加后缀

在每一行末尾添加指定的后缀。

例子:添加文件扩展名
操作前
document1 document2 document3
添加后缀 ".txt"
document1.txt document2.txt document3.txt
例子:添加邮箱后缀
操作前
zhangsan lisi wangwu
添加后缀 "@company.com"
zhangsan@company.com lisi@company.com wangwu@company.com

移除空白

移除每一行首尾的空格和制表符。

例子
操作前
第一行 第二行 第三行
操作后
第一行 第二行 第三行

反转

将行的顺序颠倒。

例子
操作前
第一步 第二步 第三步
操作后
第三步 第二步 第一步

随机排序

将行的顺序随机打乱。

例子:随机抽奖
参与者
参与者A 参与者B 参与者C 参与者D
随机排序后
参与者C 参与者A 参与者D 参与者B

去重保留顺序

移除重复行,保留第一次出现的顺序。

例子
操作前
苹果 香蕉 苹果 橙子 香蕉
操作后
苹果 香蕉 橙子

提取数字

从文本中提取出纯数字内容。

例子
操作前
电话: 13800138000 工号: 001234 金额: 99.99
操作后
13800138000 001234 99.99

📋 数据操作

排序

按字母顺序排序。第一次点击升序,第二次点击降序。

例子:升序排序
操作前
Banana Apple Cherry Date
升序后
Apple Banana Cherry Date
例子:降序排序
操作前
Apple Banana Cherry Date
降序后
Date Cherry Banana Apple

去空行

移除所有空行。

例子
操作前
第一行 第二行 第三行
操作后
第一行 第二行 第三行

去重复

移除重复行(先排序再去重)。

例子
操作前
C A B A C
操作后
A B C

交换

交换两个文本框的内容。

例子
操作前 - A
内容1 内容2
操作前 - B
内容3 内容4
操作后 - A
内容3 内容4
操作后 - B
内容1 内容2

复制到 A

将结果框 C 的内容复制到 A 框。

复制到 B

将结果框 C 的内容复制到 B 框。

📁 文件操作

打开文件 A/B/C

从文件中加载内容到对应文本框。支持 .txt 格式文件。

提示:点击"打开文件"按钮会根据当前选中的文本框自动加载到对应的位置。

保存 A/B/C

将文本框内容保存到文件。

保存位置
按钮 保存位置 文件名
保存 A 程序目录 a.txt
保存 B 程序目录 b.txt
保存 C 程序目录 个人常用信息.txt

🔧 高级功能

统计

对当前文本框进行详细的数据统计,包括行数、字符数、高频词等。

统计信息包含:
  • 总行数
  • 有效行数(非空行)
  • 去重行数
  • 总字符数
  • 前10个高频词
例子:统计示例
输入文本
hello world hello python world is beautiful python is great hello again
统计结果
=== 数据统计 === 总行数: 5 有效行数: 5 去重行数: 5 总字符数: 72 === 前10高频词 === hello: 3次 is: 2次 world: 2次 python: 2次 again: 1次 beautiful: 1次 great: 1次

加行号

为每一行添加行号。

例子
操作前
第一项 第二项 第三项
操作后
1. 第一项 2. 第二项 3. 第三项

去行号

移除每行开头的行号。

例子
操作前
1. 第一项 2. 第二项 3. 第三项
操作后
第一项 第二项 第三项

正则替换

使用正则表达式进行高级查找和替换。

例子 1:将所有数字替换为星号
操作前
电话: 13800138000 工号: 001234
正则模式: \d+
替换为: ****
电话: **** 工号: ****
例子 2:提取邮箱
操作前
联系: test@example.com 邮箱: user@test.org
正则模式: \w+@\w+\.\w+
替换为: [邮箱已隐藏]
联系: [邮箱已隐藏] 邮箱: [邮箱已隐藏]
注意:正则表达式语法错误会导致替换失败,请确保正则表达式正确。

子集判断

判断 A 和 B 两个集合之间的包含关系。

例子 1:A 是 B 的子集
集合 A
1 2
集合 B
1 2 3 4
判断结果
A 是 B 的子集
例子 2:A 和 B 相等
集合 A
X Y Z
集合 B
Y Z X
判断结果
A 和 B 相等

过滤

根据条件过滤数据,只保留符合条件的行。

例子:过滤包含特定关键词的行
操作前
产品A - 价格: 100 产品B - 价格: 200 产品C - 库存: 50 产品D - 价格: 150
过滤关键词: "价格"
产品A - 价格: 100 产品B - 价格: 200 产品D - 价格: 150

⚙️ 其他功能

复制当前

将当前文本框的内容复制到剪贴板。

粘贴当前

将剪贴板内容粘贴到当前文本框。

清空当前

清空当前文本框的内容。

提示:清空操作会保存历史记录,可以通过撤销按钮恢复。

自动换行

切换文本框的自动换行功能。

查找替换

打开查找替换对话框,进行文本查找和替换。

撤销

撤销上一步操作,恢复到之前的状态。

提示:系统会自动保存操作历史,可以多次撤销。

💡 使用技巧

工作流程建议

  1. 将原始数据加载到 A 框
  2. 将参考数据加载到 B 框
  3. 执行集合运算,结果显示在 C 框
  4. 对 C 框结果进行文本处理和数据清洗
  5. 保存结果或复制到 A/B 框继续处理

常用操作组合

场景 1:数据清洗流程
  1. 加载原始数据到 A
  2. 点击"去空行"
  3. 点击"移除空白"
  4. 点击"去重复"
  5. 点击"排序"
场景 2:对比两个名单
  1. 加载名单1到 A
  2. 加载名单2到 B
  3. 点击"交集"找出共同项
  4. 点击"A-B"找出 A 独有项
  5. 点击"B-A"找出 B 独有项
  6. 使用"子集判断"确认包含关系
场景 3:批量格式化文本
  1. 加载文本到 A
  2. 点击"转小写"
  3. 点击"添加前缀"
  4. 点击"添加后缀"
  5. 点击"加行号"