【编程学习】每天进步一点点,编程学习之路:一款表格数据处理软件 - CSV表格数据处理器v1.0.1
写在前面1:软件编写缘由
在读研实习期间,因为公司时常有处理大量表格数据的需求,加上自己有一些Python编程基础,就开始着手对常用的的一些表格数据处理需求进行了分析,赶在实习结束前,加班加点地写完了该软件。
除了留给企业使用之外,软件写完了直到现在一直没有发布到网上能够为他人所使用。花费大量的精力和时间做出来的东西,没有人去使用,其实是一种时间和精力上的浪费。现将软件发在网上,以供他人使用,如果该软件能为您的工作和生活提供便利和方便,深感荣幸。
写在前面2:软件使用建议
虽然该软件是为处理表格数据而编写的,但在使用该程序直接读取表格数据文件时,推荐.CSV
格式的表格数据文件,或者使用纯文本数据的Excel文件(使用Kutools插件将表格数据转换为文本类型),并不推荐使用该软件直接从有多个数据类型的Excel表格(.xlsx
)文档中读取表格数据。Excel表格文件作为微软公司的专用文件格式,包含的数据类型也非常繁多,尤其是在读取浮点型数据时,常常会丢失精度。而CSV作为一种纯文本文件,所见即所得,在程序读取过程中完全不用担心数据失真问题,更不受软件和平台的限制。这就是为什么软件取名为CSV表格数据处理器
而不是Excel表格数据处理器
的原因。
该软件推荐使用的两种纯文本数据文件
1. CSV文件
CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据,而这些程序本身是在不兼容的格式上进行操作的(往往是私有的和/或无规范的格式)。因为大量程序都支持某种CSV变体,至少是作为一种可选择的输入。
CSV文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。
EmEditor Pro的安装和使用
EmEditor Pro是一款功能强大的 Windows 文本编辑器,支持宏、Unicode,还能处理大数据以及 CSV 文件,可应用于各类领域,包括网页设计、程序设计、编辑或出版、数据库管理、服务器管理等等。
之所以在这里推荐EmEditor Pro,是因为EmEditor Pro可以对CSV文件进行表格化显示。使用EmEditor Pro软件对CSV文件进行查看、编辑等各种操作,非常方便。
CSV数据表格化显示:
image-202103030250595412. 纯文本类型的Excel文件
虽然CSV纯文本文件可以避免程序读取数据时的数据失真问题,但是在数据可读行
和操作性
方面,Excel文件要比CSV文件强得多,因此可以使用纯文本类型的Excel文件为数据载体也不失为一个好的选择。同时,为了避免程序读取Excel文件出现数据失真问题,Excel文件里的表格数据类型强烈使用文本类型,这里可以使用Kutools插件将表格内的全部单元格数据转换快速地转换为文本类型。
Kutools插件的安装和使用
image-20210303012500848 image-20210303012439634CSV表格数据处理软件主界面
image-20210302232225274软件可实现的功能(部分介绍)
以下为该软件可以实现的功能,需要说明的是,一些功能并不是通过一次数据操作
就能实现,而是通过一个或多个独立的数据操作
才能组合起来才能实现某种数据的处理。下面介绍一些软件可以实现的功能及其具体操作。
1. 表格数据合并
表格数据合并,将表B插入表A
表A:
姓名 | 性别 | 年龄 | 城市 |
---|---|---|---|
张三 | 男 | 20 | 北京 |
李四 | 男 | 22 | 广州 |
王二 | 男 | 15 | 沈阳 |
小明 | 男 | 18 | 长沙 |
小红 | 女 | 18 | 宁波 |
小明 | 男 | 25 | 陕西 |
表B:
姓名 | 年龄 | 城市 | 星座 | 生肖 |
---|---|---|---|---|
小明 | 18 | 长沙 | 天蝎座 | 狗 |
小红 | 18 | 宁波 | 双鱼座 | 猪 |
小明的哥哥 | 24 | 长沙 | 白羊座 | 猴 |
按姓名
、年龄
域进行合并,合并结果:
姓名 | 性别 | 年龄 | 城市 | 星座 | 生肖 | 合并说明 |
---|---|---|---|---|---|---|
张三 | 男 | 20 | 北京 | ['姓名', '年龄']该条数据在表B中未匹配到任何结果,数据保留。 | ||
李四 | 男 | 22 | 广州 | ['姓名', '年龄']该条数据在表B中未匹配到任何结果,数据保留。 | ||
王二 | 男 | 15 | 沈阳 | ['姓名', '年龄']该条数据在表B中未匹配到任何结果,数据保留。 | ||
小明 | 男 | 18 | 长沙 | 天蝎座 | 狗 | ['姓名', '年龄']该条数据匹配到表B中的第2行数据,数据已更新。 |
小红 | 女 | 18 | 宁波 | 双鱼座 | 猪 | ['姓名', '年龄']该条数据匹配到表B中的第3行数据,数据已更新。 |
小明 | 男 | 25 | 陕西 | ['姓名', '年龄']该条数据在表B中未匹配到任何结果,数据保留。 | ||
小明的哥哥 | 24 | 长沙 | 白羊座 | 猴 | ['姓名', '年龄']该条数据来自表B中的第4行数据。 |
步骤:
1)文件
>打开CSV,Excel
读取表格据至程序中为表A
2)选中匹配域
这里选择姓名
、年龄
两个域作为匹配域
3)点击B插入A
>Yes
4)选择表B
image-202103022328051215)确认
image-20210302233633827 image-202103022338398392. 相邻等值颜色区分
相邻等值颜色区分可以按照某个域来区分颜色,Exel文档染色之后,可以使用肉眼快速地从数据表中查找出需要的数据。
纯文本表格数据(演示).xlsx
:
姓名 | 性别 | 年龄 | 城市 | 星座 | 生肖 |
---|---|---|---|---|---|
小明 | 男 | 18 | 长沙 | 射手座 | 牛 |
小李 | 女 | 19 | 西安 | 金牛座 | 狗 |
小王 | 男 | 25 | 西安 | 射手座 | 牛 |
小六 | 男 | 24 | 西安 | 双鱼座 | 狗 |
李四 | 男 | 22 | 广州 | 双鱼座 | 龙 |
小明 | 男 | 25 | 西安 | 白羊座 | 牛 |
李二 | 男 | 27 | 西安 | 双鱼座 | 狗 |
张五 | 男 | 21 | 西安 | 摩羯座 | 狗 |
王六 | 男 | 25 | 西安 | 双鱼座 | 马 |
赵三 | 男 | 23 | 太原 | 巨蟹座 | 狗 |
张三 | 男 | 20 | 北京 | 水瓶座 | 鸡 |
王二 | 男 | 15 | 沈阳 | 天秤座 | 狗 |
小红 | 女 | 18 | 宁波 | 天蝎座 | 鸡 |
小倩 | 女 | 22 | 广州 | 天蝎座 | 猪 |
嬴政 | 男 | 38 | 咸阳 | 水瓶座 | 虎 |
刘邦 | 男 | 35 | 长安 | 摩羯座 | 蛇 |
项羽 | 男 | 22 | 咸阳 | 狮子座 | 狗 |
吕雉 | 女 | 25 | 长安 | 处女座 | 猴 |
刘恒 | 男 | 26 | 长安 | 摩羯座 | 猪 |
以城市
域为例,进行相邻等值区分颜色
1)选择城市
域
2)文件
>保存为彩色Excel
>Yes
参数设置窗口为字符串过滤条件,对满足条件的数据行进行染色,默认不开启。
3)结果
image-202103030039130353. 相邻等值划分并添加序号
以城市
域为例,纯文本表格数据(演示).xlsx
:
2)相邻等值划分并添加序号
>Yes
3)结果
image-20210303004407761 image-202103030044575404. 标记相邻等值的行
操作前,纯文本表格数据(演示).xlsx
:
以星座
域为例
1)选择星座
域>Yes
2)结果
image-202103030048334145. 右方转置
右方转置就是把每条数据进行拆分
操作前纯文本表格数据(演示).xlsx
:
操作后:
姓名 | 性别 | 年龄 | 域名 | 域值 | 转置标记 |
---|---|---|---|---|---|
小明 | 男 | 18 | 城市 | 长沙 | 原所在行号2 |
小明 | 男 | 18 | 星座 | 射手座 | 原所在行号2 |
小明 | 男 | 18 | 生肖 | 牛 | 原所在行号2 |
小李 | 女 | 19 | 城市 | 西安 | 原所在行号3 |
小李 | 女 | 19 | 星座 | 金牛座 | 原所在行号3 |
小李 | 女 | 19 | 生肖 | 狗 | 原所在行号3 |
小王 | 男 | 25 | 城市 | 西安 | 原所在行号4 |
小王 | 男 | 25 | 星座 | 射手座 | 原所在行号4 |
小王 | 男 | 25 | 生肖 | 牛 | 原所在行号4 |
小六 | 男 | 24 | 城市 | 西安 | 原所在行号5 |
小六 | 男 | 24 | 星座 | 双鱼座 | 原所在行号5 |
小六 | 男 | 24 | 生肖 | 狗 | 原所在行号5 |
李四 | 男 | 22 | 城市 | 广州 | 原所在行号6 |
李四 | 男 | 22 | 星座 | 双鱼座 | 原所在行号6 |
李四 | 男 | 22 | 生肖 | 龙 | 原所在行号6 |
小明 | 男 | 25 | 城市 | 西安 | 原所在行号7 |
小明 | 男 | 25 | 星座 | 白羊座 | 原所在行号7 |
小明 | 男 | 25 | 生肖 | 牛 | 原所在行号7 |
李二 | 男 | 27 | 城市 | 西安 | 原所在行号8 |
李二 | 男 | 27 | 星座 | 双鱼座 | 原所在行号8 |
李二 | 男 | 27 | 生肖 | 狗 | 原所在行号8 |
张五 | 男 | 21 | 城市 | 西安 | 原所在行号9 |
张五 | 男 | 21 | 星座 | 摩羯座 | 原所在行号9 |
张五 | 男 | 21 | 生肖 | 狗 | 原所在行号9 |
王六 | 男 | 25 | 城市 | 西安 | 原所在行号10 |
王六 | 男 | 25 | 星座 | 双鱼座 | 原所在行号10 |
王六 | 男 | 25 | 生肖 | 马 | 原所在行号10 |
赵三 | 男 | 23 | 城市 | 太原 | 原所在行号11 |
赵三 | 男 | 23 | 星座 | 巨蟹座 | 原所在行号11 |
赵三 | 男 | 23 | 生肖 | 狗 | 原所在行号11 |
张三 | 男 | 20 | 城市 | 北京 | 原所在行号12 |
张三 | 男 | 20 | 星座 | 水瓶座 | 原所在行号12 |
张三 | 男 | 20 | 生肖 | 鸡 | 原所在行号12 |
王二 | 男 | 15 | 城市 | 沈阳 | 原所在行号13 |
王二 | 男 | 15 | 星座 | 天秤座 | 原所在行号13 |
王二 | 男 | 15 | 生肖 | 狗 | 原所在行号13 |
小红 | 女 | 18 | 城市 | 宁波 | 原所在行号14 |
小红 | 女 | 18 | 星座 | 天蝎座 | 原所在行号14 |
小红 | 女 | 18 | 生肖 | 鸡 | 原所在行号14 |
小倩 | 女 | 22 | 城市 | 广州 | 原所在行号15 |
小倩 | 女 | 22 | 星座 | 天蝎座 | 原所在行号15 |
小倩 | 女 | 22 | 生肖 | 猪 | 原所在行号15 |
嬴政 | 男 | 38 | 城市 | 咸阳 | 原所在行号16 |
嬴政 | 男 | 38 | 星座 | 水瓶座 | 原所在行号16 |
嬴政 | 男 | 38 | 生肖 | 虎 | 原所在行号16 |
刘邦 | 男 | 35 | 城市 | 长安 | 原所在行号17 |
刘邦 | 男 | 35 | 星座 | 摩羯座 | 原所在行号17 |
刘邦 | 男 | 35 | 生肖 | 蛇 | 原所在行号17 |
项羽 | 男 | 22 | 城市 | 咸阳 | 原所在行号18 |
项羽 | 男 | 22 | 星座 | 狮子座 | 原所在行号18 |
项羽 | 男 | 22 | 生肖 | 狗 | 原所在行号18 |
吕雉 | 女 | 25 | 城市 | 长安 | 原所在行号19 |
吕雉 | 女 | 25 | 星座 | 处女座 | 原所在行号19 |
吕雉 | 女 | 25 | 生肖 | 猴 | 原所在行号19 |
刘恒 | 男 | 26 | 城市 | 长安 | 原所在行号20 |
刘恒 | 男 | 26 | 星座 | 摩羯座 | 原所在行号20 |
刘恒 | 男 | 26 | 生肖 | 猪 | 原所在行号20 |
6. 相邻等值划分并排序
操作前纯文本表格数据(演示).xlsx
:
以城市
域为划分域,对星座
进行指定排序
1)相邻等值划分并排序
,划分域选择城市
,排序域选择星座
,排序值为图中所示
2)结果
image-202103030225380967. 生成联合域
生成联合域可把多个域合并成单个域
需要进行多域操作时,可先进行生成联合域
操作转换为单域,再通过单域执行上述功能即可使用上述功能的多域化操作。
操作前:
image-20210303010806826操作后:
image-20210303015915865下载链接
CSV表格数据处理器以及EmEditor Pro软件、Kutools插件下载地址:
链接:https://pan.baidu.com/s/1vlbYAIPPKkLnDz5OSJrrlw
提取码:rb8z
写在后面
如果你对该软件有什么建议或意见,可以在评论区留言或与我联系,我会持续更新该软件,为软件添加新的活力,完善程序的表格数据处理方面的功能。
作者邮箱:caviar126@qq.com
网友评论