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

时间:2016-06-24 16:58:25

标签: excel notepad++ flat-file fixed-width

我有一个固定宽度的平面文件,有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中是否有一项功能允许我将工作表生成为带空格的平面文件。或者我可以转移" Notepad ++中相同文件的列。 我正在寻找一个方便的键盘选项,否则我必须去SQL。

2 个答案:

答案 0 :(得分:2)

有了Npp,我会这样做:

  • 控制 + ħ
  • 找到:((\S+)\s+\S+\s+(\S+))
  • Repace with:$1 $2$3-ABC
  • 全部替换

确保您已选中Regular Expression

我假设分隔符是一个空格。

答案 1 :(得分:1)

在Excel中,点击employee = Employee(user=user, depatment='xyz') employee.save() ,然后选择"另存为类型:" "格式化文本(以空格分隔)"。

替代方案,在Notepad ++中,如果它们是固定宽度的,则使用列复制/粘贴来构建额外的列。 (按住左 ALT ,同时突出显示1列, CTRL + C 然后将光标放在第一行的末尾,添加几个空格,单击 CTRL + V 。重复第二列;)

如果您需要向所有列添加其他文本(即连字符分隔),请再次使用左Save as技巧突出显示所有行的零宽度选择,然后输入..它' ll镜像所有行的输入:)

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