import csv
inputlines = editor.getText().split('\n')
# Get rid of empty lines
inputlines = [line.strip() for line in inputlines if line.strip()]
reader = csv.reader(inputlines, delimiter=',')
csvlist = [line for line in reader]
# transpose to calculate the column widths and create a format string which left aligns each row
t_csvlist = zip(*csvlist)
col_widths = [max([len(x) for x in t_csvlist[y]]) for y in range(len(t_csvlist))]
# To right align - change < to >
fmt_str = ' '.join(['{{:<{0}}}'.format(x) for x in col_widths]) + '\r\n'
text = []
for line in csvlist:
text.append(fmt_str.format(*line))
# open a new document and put the results in there.
notepad.new()
editor.addText(''.join(text))
import csv
import re
num_re = re.compile('[-\+]?\d+(\.\d+)?')
inputlines = editor.getText().split('\n')
# Get rid of empty lines
inputlines = [line.strip() for line in inputlines if line.strip()]
reader = csv.reader(inputlines, delimiter=',')
csvlist = [line for line in reader]
# Transpose to calculate the column widths and create a format string which left aligns each row
t_csvlist = zip(*csvlist)
col_widths = [max([len(x) for x in t_csvlist[y]]) for y in range(len(t_csvlist))]
# Numbers get right aligned
type_eval_line = csvlist[1 if len(csvlist)>1 else 0]
alignment = ['>' if num_re.match(item) else '<' for item in type_eval_line]
# Compute the format string
fmt_str = ' '.join(['{{:{0}{1}}}'.format(a,x) for x,a in zip(col_widths,alignment)]) + '\r\n'
text = []
for line in csvlist:
text.append(fmt_str.format(*line))
# open a new document and put the results in there.
notepad.new()
editor.addText(''.join(text))
5条答案
按热度按时间juzqafwq1#
您可以使用TextFX插件:
http://tomaslind.net/2016/02/18/how-to-align-columns-in-notepad/
2019年更新:Download link from SourceForge
wgxvkvu92#
也许不完全是你想要的,但是我最近在记事本++中添加了一个CSV Lint plug-in,它还为csv和固定宽度的数据文件添加了语法突出显示,这意味着每一列都有不同的颜色,所以更容易看到。
8ehkhllq3#
你可以使用这个python插件脚本,它利用csv库来处理带引号的csv和许多其他变体。
设置:
1.使用记事本++中的插件管理器安装"Python脚本"插件。
1.插件-〉Python脚本-〉新建脚本(名称类似于www.example.com) CSVtoTable.py )
1.将以下python脚本粘贴到新文件中并保存:
CSVtoTable.py
1.在记事本中打开CSV文件++
1.点击插件-〉Python脚本-〉脚本-〉(您在步骤2中使用的名称)
1.应打开包含格式化数据的新选项卡。
更新(右对齐数字和左对齐字符串):
如果您想右对齐CSV中的数字字段,请使用下面的python脚本-它查看CSV的第二行以确定字段的类型。
tag5nh1u4#
您可以使用“搜索和替换”将所有出现的
,
更改为,\t
。这将在每个,
后添加一个选项卡。然而,该方法具有一些缺点:
1.您可以有效地将空白字符添加到文档中(以防需要编辑和保存它)。
1.仅当最长和最短数字之间的差异(就字符数而言)小于1个制表符大小(通常为4个字符)时,此操作才能正常工作。
wpx232ag5#
记事本++ CSVLint
要重新格式化,请执行以下操作:
重新格式化输出:
如果您想自己尝试:下面是我的示例输入: