【編程學(xué)習(xí)】每天進(jìn)步一點(diǎn)點(diǎn),編程學(xué)習(xí)之路:一款表格數(shù)據(jù)處理軟件 - CSV表格數(shù)據(jù)處理器v1.0.1
寫在前面1:軟件編寫緣由
在讀研實(shí)習(xí)期間,因?yàn)楣緯r(shí)常有處理大量表格數(shù)據(jù)的需求,加上自己有一些Python編程基礎(chǔ),就開始著手對(duì)常用的的一些表格數(shù)據(jù)處理需求進(jìn)行了分析,趕在實(shí)習(xí)結(jié)束前,加班加點(diǎn)地寫完了該軟件。
除了留給企業(yè)使用之外,軟件寫完了直到現(xiàn)在一直沒有發(fā)布到網(wǎng)上能夠?yàn)樗怂褂?。花費(fèi)大量的精力和時(shí)間做出來的東西,沒有人去使用,其實(shí)是一種時(shí)間和精力上的浪費(fèi)?,F(xiàn)將軟件發(fā)在網(wǎng)上,以供他人使用,如果該軟件能為您的工作和生活提供便利和方便,深感榮幸。
寫在前面2:軟件使用建議
雖然該軟件是為處理表格數(shù)據(jù)而編寫的,但在使用該程序直接讀取表格數(shù)據(jù)文件時(shí),推薦.CSV格式的表格數(shù)據(jù)文件,或者使用純文本數(shù)據(jù)的Excel文件(使用Kutools插件將表格數(shù)據(jù)轉(zhuǎn)換為文本類型),并不推薦使用該軟件直接從有多個(gè)數(shù)據(jù)類型的Excel表格(.xlsx)文檔中讀取表格數(shù)據(jù)。Excel表格文件作為微軟公司的專用文件格式,包含的數(shù)據(jù)類型也非常繁多,尤其是在讀取浮點(diǎn)型數(shù)據(jù)時(shí),常常會(huì)丟失精度。而CSV作為一種純文本文件,所見即所得,在程序讀取過程中完全不用擔(dān)心數(shù)據(jù)失真問題,更不受軟件和平臺(tái)的限制。這就是為什么軟件取名為CSV表格數(shù)據(jù)處理器而不是Excel表格數(shù)據(jù)處理器的原因。
該軟件推薦使用的兩種純文本數(shù)據(jù)文件
1. CSV文件
CSV是一種通用的、相對(duì)簡(jiǎn)單的文件格式,被用戶、商業(yè)和科學(xué)廣泛應(yīng)用。最廣泛的應(yīng)用是在程序之間轉(zhuǎn)移表格數(shù)據(jù),而這些程序本身是在不兼容的格式上進(jìn)行操作的(往往是私有的和/或無規(guī)范的格式)。因?yàn)榇罅砍绦蚨贾С帜撤NCSV變體,至少是作為一種可選擇的輸入。
CSV文件以純文本形式存儲(chǔ)表格數(shù)據(jù)(數(shù)字和文本)。純文本意味著該文件是一個(gè)字符序列,不含必須像二進(jìn)制數(shù)字那樣被解讀的數(shù)據(jù)。CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號(hào)或制表符。通常,所有記錄都有完全相同的字段序列。通常都是純文本文件。建議使用WORDPAD或是記事本來開啟,再則先另存新檔后用EXCEL開啟,也是方法之一。
EmEditor Pro的安裝和使用
EmEditor Pro是一款功能強(qiáng)大的 Windows 文本編輯器,支持宏、Unicode,還能處理大數(shù)據(jù)以及 CSV 文件,可應(yīng)用于各類領(lǐng)域,包括網(wǎng)頁(yè)設(shè)計(jì)、程序設(shè)計(jì)、編輯或出版、數(shù)據(jù)庫(kù)管理、服務(wù)器管理等等。
之所以在這里推薦EmEditor Pro,是因?yàn)镋mEditor Pro可以對(duì)CSV文件進(jìn)行表格化顯示。使用EmEditor Pro軟件對(duì)CSV文件進(jìn)行查看、編輯等各種操作,非常方便。
CSV數(shù)據(jù)表格化顯示:

2. 純文本類型的Excel文件
雖然CSV純文本文件可以避免程序讀取數(shù)據(jù)時(shí)的數(shù)據(jù)失真問題,但是在數(shù)據(jù)可讀行和操作性方面,Excel文件要比CSV文件強(qiáng)得多,因此可以使用純文本類型的Excel文件為數(shù)據(jù)載體也不失為一個(gè)好的選擇。同時(shí),為了避免程序讀取Excel文件出現(xiàn)數(shù)據(jù)失真問題,Excel文件里的表格數(shù)據(jù)類型強(qiáng)烈使用文本類型,這里可以使用Kutools插件將表格內(nèi)的全部單元格數(shù)據(jù)轉(zhuǎn)換快速地轉(zhuǎn)換為文本類型。
Kutools插件的安裝和使用


CSV表格數(shù)據(jù)處理軟件主界面

軟件可實(shí)現(xiàn)的功能(部分介紹)
以下為該軟件可以實(shí)現(xiàn)的功能,需要說明的是,一些功能并不是通過一次數(shù)據(jù)操作就能實(shí)現(xiàn),而是通過一個(gè)或多個(gè)獨(dú)立的數(shù)據(jù)操作才能組合起來才能實(shí)現(xiàn)某種數(shù)據(jù)的處理。下面介紹一些軟件可以實(shí)現(xiàn)的功能及其具體操作。
1. 表格數(shù)據(jù)合并
表格數(shù)據(jù)合并,將表B插入表A
表A:
| 姓名 | 性別 | 年齡 | 城市 |
|---|---|---|---|
| 張三 | 男 | 20 | 北京 |
| 李四 | 男 | 22 | 廣州 |
| 王二 | 男 | 15 | 沈陽(yáng) |
| 小明 | 男 | 18 | 長(zhǎng)沙 |
| 小紅 | 女 | 18 | 寧波 |
| 小明 | 男 | 25 | 陜西 |
表B:
| 姓名 | 年齡 | 城市 | 星座 | 生肖 |
|---|---|---|---|---|
| 小明 | 18 | 長(zhǎng)沙 | 天蝎座 | 狗 |
| 小紅 | 18 | 寧波 | 雙魚座 | 豬 |
| 小明的哥哥 | 24 | 長(zhǎng)沙 | 白羊座 | 猴 |
按姓名、年齡域進(jìn)行合并,合并結(jié)果:
| 姓名 | 性別 | 年齡 | 城市 | 星座 | 生肖 | 合并說明 |
|---|---|---|---|---|---|---|
| 張三 | 男 | 20 | 北京 | ['姓名', '年齡']該條數(shù)據(jù)在表B中未匹配到任何結(jié)果,數(shù)據(jù)保留。 | ||
| 李四 | 男 | 22 | 廣州 | ['姓名', '年齡']該條數(shù)據(jù)在表B中未匹配到任何結(jié)果,數(shù)據(jù)保留。 | ||
| 王二 | 男 | 15 | 沈陽(yáng) | ['姓名', '年齡']該條數(shù)據(jù)在表B中未匹配到任何結(jié)果,數(shù)據(jù)保留。 | ||
| 小明 | 男 | 18 | 長(zhǎng)沙 | 天蝎座 | 狗 | ['姓名', '年齡']該條數(shù)據(jù)匹配到表B中的第2行數(shù)據(jù),數(shù)據(jù)已更新。 |
| 小紅 | 女 | 18 | 寧波 | 雙魚座 | 豬 | ['姓名', '年齡']該條數(shù)據(jù)匹配到表B中的第3行數(shù)據(jù),數(shù)據(jù)已更新。 |
| 小明 | 男 | 25 | 陜西 | ['姓名', '年齡']該條數(shù)據(jù)在表B中未匹配到任何結(jié)果,數(shù)據(jù)保留。 | ||
| 小明的哥哥 | 24 | 長(zhǎng)沙 | 白羊座 | 猴 | ['姓名', '年齡']該條數(shù)據(jù)來自表B中的第4行數(shù)據(jù)。 |
步驟:
1)文件>打開CSV,Excel讀取表格據(jù)至程序中為表A

2)選中匹配域
這里選擇姓名、年齡兩個(gè)域作為匹配域

3)點(diǎn)擊B插入A>Yes

4)選擇表B

5)確認(rèn)


2. 相鄰等值顏色區(qū)分
相鄰等值顏色區(qū)分可以按照某個(gè)域來區(qū)分顏色,Exel文檔染色之后,可以使用肉眼快速地從數(shù)據(jù)表中查找出需要的數(shù)據(jù)。
純文本表格數(shù)據(jù)(演示).xlsx:
| 姓名 | 性別 | 年齡 | 城市 | 星座 | 生肖 |
|---|---|---|---|---|---|
| 小明 | 男 | 18 | 長(zhǎng)沙 | 射手座 | 牛 |
| 小李 | 女 | 19 | 西安 | 金牛座 | 狗 |
| 小王 | 男 | 25 | 西安 | 射手座 | 牛 |
| 小六 | 男 | 24 | 西安 | 雙魚座 | 狗 |
| 李四 | 男 | 22 | 廣州 | 雙魚座 | 龍 |
| 小明 | 男 | 25 | 西安 | 白羊座 | 牛 |
| 李二 | 男 | 27 | 西安 | 雙魚座 | 狗 |
| 張五 | 男 | 21 | 西安 | 摩羯座 | 狗 |
| 王六 | 男 | 25 | 西安 | 雙魚座 | 馬 |
| 趙三 | 男 | 23 | 太原 | 巨蟹座 | 狗 |
| 張三 | 男 | 20 | 北京 | 水瓶座 | 雞 |
| 王二 | 男 | 15 | 沈陽(yáng) | 天秤座 | 狗 |
| 小紅 | 女 | 18 | 寧波 | 天蝎座 | 雞 |
| 小倩 | 女 | 22 | 廣州 | 天蝎座 | 豬 |
| 嬴政 | 男 | 38 | 咸陽(yáng) | 水瓶座 | 虎 |
| 劉邦 | 男 | 35 | 長(zhǎng)安 | 摩羯座 | 蛇 |
| 項(xiàng)羽 | 男 | 22 | 咸陽(yáng) | 獅子座 | 狗 |
| 呂雉 | 女 | 25 | 長(zhǎng)安 | 處女座 | 猴 |
| 劉恒 | 男 | 26 | 長(zhǎng)安 | 摩羯座 | 豬 |

以城市域?yàn)槔?,進(jìn)行相鄰等值區(qū)分顏色
1)選擇城市域

2)文件>保存為彩色Excel>Yes


參數(shù)設(shè)置窗口為字符串過濾條件,對(duì)滿足條件的數(shù)據(jù)行進(jìn)行染色,默認(rèn)不開啟。
3)結(jié)果

3. 相鄰等值劃分并添加序號(hào)
以城市域?yàn)槔?code>純文本表格數(shù)據(jù)(演示).xlsx:

2)相鄰等值劃分并添加序號(hào)>Yes

3)結(jié)果


4. 標(biāo)記相鄰等值的行
操作前,純文本表格數(shù)據(jù)(演示).xlsx:

以星座域?yàn)槔?/p>
1)選擇星座域>Yes

2)結(jié)果

5. 右方轉(zhuǎn)置
右方轉(zhuǎn)置就是把每條數(shù)據(jù)進(jìn)行拆分
操作前純文本表格數(shù)據(jù)(演示).xlsx:

操作后:
| 姓名 | 性別 | 年齡 | 域名 | 域值 | 轉(zhuǎn)置標(biāo)記 |
|---|---|---|---|---|---|
| 小明 | 男 | 18 | 城市 | 長(zhǎng)沙 | 原所在行號(hào)2 |
| 小明 | 男 | 18 | 星座 | 射手座 | 原所在行號(hào)2 |
| 小明 | 男 | 18 | 生肖 | 牛 | 原所在行號(hào)2 |
| 小李 | 女 | 19 | 城市 | 西安 | 原所在行號(hào)3 |
| 小李 | 女 | 19 | 星座 | 金牛座 | 原所在行號(hào)3 |
| 小李 | 女 | 19 | 生肖 | 狗 | 原所在行號(hào)3 |
| 小王 | 男 | 25 | 城市 | 西安 | 原所在行號(hào)4 |
| 小王 | 男 | 25 | 星座 | 射手座 | 原所在行號(hào)4 |
| 小王 | 男 | 25 | 生肖 | 牛 | 原所在行號(hào)4 |
| 小六 | 男 | 24 | 城市 | 西安 | 原所在行號(hào)5 |
| 小六 | 男 | 24 | 星座 | 雙魚座 | 原所在行號(hào)5 |
| 小六 | 男 | 24 | 生肖 | 狗 | 原所在行號(hào)5 |
| 李四 | 男 | 22 | 城市 | 廣州 | 原所在行號(hào)6 |
| 李四 | 男 | 22 | 星座 | 雙魚座 | 原所在行號(hào)6 |
| 李四 | 男 | 22 | 生肖 | 龍 | 原所在行號(hào)6 |
| 小明 | 男 | 25 | 城市 | 西安 | 原所在行號(hào)7 |
| 小明 | 男 | 25 | 星座 | 白羊座 | 原所在行號(hào)7 |
| 小明 | 男 | 25 | 生肖 | 牛 | 原所在行號(hào)7 |
| 李二 | 男 | 27 | 城市 | 西安 | 原所在行號(hào)8 |
| 李二 | 男 | 27 | 星座 | 雙魚座 | 原所在行號(hào)8 |
| 李二 | 男 | 27 | 生肖 | 狗 | 原所在行號(hào)8 |
| 張五 | 男 | 21 | 城市 | 西安 | 原所在行號(hào)9 |
| 張五 | 男 | 21 | 星座 | 摩羯座 | 原所在行號(hào)9 |
| 張五 | 男 | 21 | 生肖 | 狗 | 原所在行號(hào)9 |
| 王六 | 男 | 25 | 城市 | 西安 | 原所在行號(hào)10 |
| 王六 | 男 | 25 | 星座 | 雙魚座 | 原所在行號(hào)10 |
| 王六 | 男 | 25 | 生肖 | 馬 | 原所在行號(hào)10 |
| 趙三 | 男 | 23 | 城市 | 太原 | 原所在行號(hào)11 |
| 趙三 | 男 | 23 | 星座 | 巨蟹座 | 原所在行號(hào)11 |
| 趙三 | 男 | 23 | 生肖 | 狗 | 原所在行號(hào)11 |
| 張三 | 男 | 20 | 城市 | 北京 | 原所在行號(hào)12 |
| 張三 | 男 | 20 | 星座 | 水瓶座 | 原所在行號(hào)12 |
| 張三 | 男 | 20 | 生肖 | 雞 | 原所在行號(hào)12 |
| 王二 | 男 | 15 | 城市 | 沈陽(yáng) | 原所在行號(hào)13 |
| 王二 | 男 | 15 | 星座 | 天秤座 | 原所在行號(hào)13 |
| 王二 | 男 | 15 | 生肖 | 狗 | 原所在行號(hào)13 |
| 小紅 | 女 | 18 | 城市 | 寧波 | 原所在行號(hào)14 |
| 小紅 | 女 | 18 | 星座 | 天蝎座 | 原所在行號(hào)14 |
| 小紅 | 女 | 18 | 生肖 | 雞 | 原所在行號(hào)14 |
| 小倩 | 女 | 22 | 城市 | 廣州 | 原所在行號(hào)15 |
| 小倩 | 女 | 22 | 星座 | 天蝎座 | 原所在行號(hào)15 |
| 小倩 | 女 | 22 | 生肖 | 豬 | 原所在行號(hào)15 |
| 嬴政 | 男 | 38 | 城市 | 咸陽(yáng) | 原所在行號(hào)16 |
| 嬴政 | 男 | 38 | 星座 | 水瓶座 | 原所在行號(hào)16 |
| 嬴政 | 男 | 38 | 生肖 | 虎 | 原所在行號(hào)16 |
| 劉邦 | 男 | 35 | 城市 | 長(zhǎng)安 | 原所在行號(hào)17 |
| 劉邦 | 男 | 35 | 星座 | 摩羯座 | 原所在行號(hào)17 |
| 劉邦 | 男 | 35 | 生肖 | 蛇 | 原所在行號(hào)17 |
| 項(xiàng)羽 | 男 | 22 | 城市 | 咸陽(yáng) | 原所在行號(hào)18 |
| 項(xiàng)羽 | 男 | 22 | 星座 | 獅子座 | 原所在行號(hào)18 |
| 項(xiàng)羽 | 男 | 22 | 生肖 | 狗 | 原所在行號(hào)18 |
| 呂雉 | 女 | 25 | 城市 | 長(zhǎng)安 | 原所在行號(hào)19 |
| 呂雉 | 女 | 25 | 星座 | 處女座 | 原所在行號(hào)19 |
| 呂雉 | 女 | 25 | 生肖 | 猴 | 原所在行號(hào)19 |
| 劉恒 | 男 | 26 | 城市 | 長(zhǎng)安 | 原所在行號(hào)20 |
| 劉恒 | 男 | 26 | 星座 | 摩羯座 | 原所在行號(hào)20 |
| 劉恒 | 男 | 26 | 生肖 | 豬 | 原所在行號(hào)20 |
6. 相鄰等值劃分并排序
操作前純文本表格數(shù)據(jù)(演示).xlsx:

以城市域?yàn)閯澐钟颍瑢?duì)星座進(jìn)行指定排序
1)相鄰等值劃分并排序,劃分域選擇城市,排序域選擇星座,排序值為圖中所示

2)結(jié)果

7. 生成聯(lián)合域
生成聯(lián)合域可把多個(gè)域合并成單個(gè)域
需要進(jìn)行多域操作時(shí),可先進(jìn)行生成聯(lián)合域操作轉(zhuǎn)換為單域,再通過單域執(zhí)行上述功能即可使用上述功能的多域化操作。
操作前:

操作后:

下載鏈接
CSV表格數(shù)據(jù)處理器以及EmEditor Pro軟件、Kutools插件下載地址:
鏈接:https://pan.baidu.com/s/1vlbYAIPPKkLnDz5OSJrrlw
提取碼:rb8z
寫在后面
如果你對(duì)該軟件有什么建議或意見,可以在評(píng)論區(qū)留言或與我聯(lián)系,我會(huì)持續(xù)更新該軟件,為軟件添加新的活力,完善程序的表格數(shù)據(jù)處理方面的功能。
作者郵箱:caviar126@qq.com