在预定义标记处分割文本行

时间:2014-03-14 18:40:22

标签: excel notepad++ multiple-columns

如果这已经完成,我道歉但我现在需要两天的时间来搜索我希望这是一个简单的解决方案而没有成功

我有一个包含100行数据的文件。

每行有380个字符。

我有一个指南告诉我:

  

从字符1开始,3个字符是信息x

     

从字符4开始,8个字符是信息y

     

从字符12开始,16个字符是信息z

     

有效地将43列信息卡在一个块中。一些信息是名称,日期,有2位小数的数字,有8位小数的数字等。

E.G。

MJBN1XXXXXX00018YNN1C11010C  SMITH JOHNNE    99999N     20140306E 201403112014030667011M107V 10000000000000        0000000000018000000C  000000755000000 0000001359000 Y0000000002500 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000001361500 NOVX21 INC CL B               0201403060001810                 

我正在尝试使用主流内容,例如Excel或记事本++将100行中的每一行拆分为列,即使它是在每次中断时插入“,”所以我可以在excel中打开它。

我知道我可以通过excel“text to columns”函数执行此操作,方法是将列拆分器拖动到需要的位置,但我正在寻找一个可重复的过程,大约有10个不同宽度的文件进来每天他们可以一次10k +行,但是如果我可以为10种文件类型中的每一种构建一个宏或脚本,当我打开一个最终目标的新文件时,我可以按需运行。

1 个答案:

答案 0 :(得分:1)

可能是时候学习一些脚本了,我的朋友。

您可以使用Excel"文本到列"如果有一个一致的分​​隔符(例如制表符或空格),则指定分隔符,但如果某人有中间名或出现其他皱纹,则可能会绊倒。

如果有一个复杂但有些一致的分隔符,您可以使用regular expressions查找/替换所有分隔符到选项卡中并以这种方式直接导入Excel。我不确定notepad ++是否提供此功能,但您可以获得Sublime Text的评估版本,但我强烈建议您这样做。

如果您对如何制作这些文件有发言权,那么以CSV等标准格式请求它们将为您提供更多解析选项。

如果这些都不可能,那么可能是学习一点Python或Ruby的时候了。您编写的一个简单的10行脚本可以将这些文件转换为Excel可读的毫秒级。

我知道这不是一个微不足道的答案,但学习编程语言会改变你的生活。