通过 Excel 或 Notepad++ 添加固定宽度的平面文件列

Fixed width flat file column addition via Excel or Notepad++

我有一个包含 n 列的固定宽度平面文件。我需要在末尾添加一个新列,它是一些列的串联。 例如。

0624 11011 LOCA   
0624 11031 LOCC   
0624 11041 LOCB   

变成

0624 11011 LOCA 0624LOCA-ABC  
0624 11031 LOCC 0624LOCC-ABC  
0624 11041 LOCB 0624LOCB-ABC  

我在 Excel 中将文件文件作为文本导入,并且能够使用连接功能快速生成列。 但我现在需要再次将其生成为平面文件。我该怎么做呢? Excel 中是否有允许我将 sheet 生成为带空格的平面文件的功能。或者我可以 "transfer" 该列到 Notepad++ 中的同一文件。 我正在寻找方便的键盘选项,否则我必须转到 SQL.

对于 Npp,我会这样做:

  • Ctrl+H
  • 查找内容:((\S+)\s+\S+\s+(\S+))
  • 替换为: -ABC
  • 全部替换

确保您已检查 Regular Expression

我假设分隔符是一个space。

在Excel中,点击Save as,然后选择"save as type:" "Formatted Text (space delimited)"。

或者,在 Notepad++ 中,如果它们的宽度是固定的,则使用 Column Copy/Paste 来构建额外的列。 (按住 Left ALT 并突出显示 1 列,CTRL+C 然后将光标放在第一行的末尾,添加几个空格,单击 CTRL+V。对第二列重复 ;)

如果您需要向所有列添加额外的文本(即用连字符分隔它们),请再次使用左 ALT 技巧来突出显示所有行的零宽度选择,然后只需键入 ..镜像所有行的输入 :)

但是,如果您的文件大得多,我会坚持使用 Excel,或者尝试使用 Toto 的正则表达式替换 ;)