我正在尝试在大型数据集上将每行的列宽设置为固定的“511”宽度。如果该行的列宽小于 511,那么我想在行尾添加空间,直到它具有 511 列宽。目前,我遇到了很多列宽不规则的条目。例如,如果列宽是 450,即小于 511,那么我手动添加空间,直到它具有 511 宽度,如果列宽超过 511,那么我将删除空间,直到它是 511。当前数据集有超过 100 万行,所以我想知道是否有更快的方法在每行末尾添加“空格”。将不胜感激任何帮助。
问问题
66 次
1 回答
0
如果不规则行不多(如果大多数行是 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
然后从宏菜单中的选择...中选择此文件。最后,在Macros菜单中选择Run AutoSpace.jsee 。
于 2021-02-12T00:30:36.760 回答