如何在Notepad++中,垂直對齊逗號分隔值?

如何在Notepad++中,垂直對齊逗號分隔值?

在Excel可以透過「資料剖析」的方式將匯入的數據依據分號、逗號或空格拆解到每個欄位(Column)上,方便Raw Data的閱讀。

Excel_Parse

如果想要在Notepad++上做到一樣的效果要如果做呢?

Notepad++_RawData

首先,打開Notepad++,點選「外掛」→「管理外掛模組」搜尋「PythonScript」安裝。

Notepad++外掛

接者,點選「New Script」,命名為「CSVtoTable.py」,將下面的Python Source Code貼上,存檔。

CSVtoTable設定

CSVtoTable.py

 1import csv
 2
 3inputlines = editor.getText().split('\n')
 4
 5# Get rid of empty lines
 6inputlines = [line.strip() for line in inputlines if line.strip()]
 7reader = csv.reader(inputlines, delimiter=',')
 8csvlist = [line for line in reader]
 9
10# transpose to calculate the column widths and create a format string which left aligns each row
11t_csvlist = zip(*csvlist)
12col_widths = [max([len(x) for x in t_csvlist[y]]) for y in range(len(t_csvlist))]
13
14# To right align - change < to >
15fmt_str = ' '.join(['{{:<{0}}}'.format(x) for x in col_widths]) + '\r\n'
16
17text = []
18for line in csvlist: 
19    text.append(fmt_str.format(*line))
20
21# open a new document and put the results in there.    
22notepad.new()
23editor.addText(''.join(text))

載入需要分拆的數據,點選「Scripts」,執行剛剛存檔的「CSVtoTable」,即會開一個新檔,同時會將欄位都垂直對齊逗號分隔。

CSVtoTable執行

以上就是透過Python外掛,自行編寫腳本來實現類似Excel的資料剖析功能。這樣可以將匯入的數據按照逗號分隔拆解成每個欄位,達到直觀閱讀原始數據的效果。

comments powered by Disqus
>