自动填充每行最多固定列宽的空间

问题描述

我试图在大型数据集上将每行的列宽设置为固定的“511”宽度。如果该行的列宽小于 511,那么我想在该行的末尾添加空格,直到它具有 511 列宽。目前,我遇到了很多列宽不规则的条目。例如,如果列宽是 450,即小于 511,那么我手动添加空间直到它有 511 宽度,如果列宽超过 511 那么我将删除空间直到它是 511。当前数据集有超过 100 万行,所以我想知道是否有更快的方法在每行的末尾添加“空格”。将不胜感激任何帮助。

Sample of irregular column width

解决方法

如果没有很多不规则的行(如果大多数行是 511 个字符长),你可以使用这个宏。否则,此宏可能需要很长时间才能完成。

COLUMN = 511 + 1;  // add 1 to the width
Redraw = false;
nLines = document.GetLines();
for( y = 1; y <= nLines; ++y ) {
    document.selection.SetActivePoint( eePosLogical,1,y );
    document.selection.EndOfLine( false,eeLineLogical );
    x = document.selection.GetActivePointX( eePosLogical );
    if( x < COLUMN ) {
        s = "";
        for( i = COLUMN - x ; i > 0; --i ) {
            s += " ";
        }
        document.selection.Text = s;
    }
    else if( x > COLUMN ) {
        document.selection.SetActivePoint( eePosLogical,COLUMN,y,true );
        document.selection.Delete();
    }
}

要运行此代码,请将此代码保存为例如 AutoSpace.jsee,然后从 菜单中的 选择... 中选择此文件。最后,在菜单中选择运行 AutoSpace.jsee

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...