需要将Cobol数据文件转换为CSV,Excel

时间:2011-10-31 22:29:08

标签: excel cobol

我有一个没有文件扩展名的COBOL数据文件。我需要将它转换为任何类型的现代数据文件,如上所述。 我可以在Windows上使用记事本打开该文件。

以下是

中的代码示例
0~      9401131218264194011312182641 >                 ֽ   ֽ                                             A ֵ                @ֽB1993120901758501000232GE93DO   2PECALR                                                                   1MF000232Y      A10000                                                                           @ֽB1993120901758601004407GE93DO  % 2PECALR                                                                   1MF004407Y      A10000                                                                           @ֽB1993120901758701005444GE93DO  `2PECALR                                                                   1MF005444Y      A10000                                                                           @ֽB1993120901758801000008GE93DO   2PECALR                                                                   1MF000008Y      A10000                                                                           @ֽB1993120901758901001518GE93DO  €2PECALR                                                                   1MF001518Y      A10000                                                                           @ֽB1993120901759001000102GE93DO  €2PECALR                                                                   1MF000102Y      A10000                                                                           @ֽB1993120901759101001605LA93LA   2                                                                         2MF001605N      A20000                                                                           @ֽB1993120901759201001076GE93DO  P 2PECALR                                                                   1MF001076Y      A10000                                                                           @ֽB1993120901759301001608GE93DO  % 2PECALR                                                                   1MF001608Y      A10000                                                                           @ֽB1993120901759401007044GE93DO  5 2PECALR                                                                   1MF007044Y      A10000                                                                           @ֽB1993120901759501000329GE93DO P 2PECALR                                                                   1MF000329Y      A10000                                                                           @ֽB1993120901759601000613MM93MS  P 2PECALR                                                                   1MF000613Y      A10000                                                                           @ֽB1993120901759701000516MM94MS   2PECALR   

我甚至不知道从哪里开始研究如何实现这一目标。 任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:3)

你在这里得到的并不是一个真正的COBOL数据文件。它是一个没有强加结构的平面数据文件。它当然可以由COBOL程序编写。

您需要了解的是一本定义各种数据字段甚至是什么的字帖。虽然我不能确定,如果我不得不冒险猜测我会说这是标题材料

0~ 9401131218264194011312182641 > ֽ ֽ A ֵ

然后你有多条记录,每条记录都以@开头。这可能是一个记录:

@ֽB1993120901758501000232GE93DO   2PECALR                                                                   1MF000232Y      A10000    

现在你需要的是结构。您是否可以访问COBOL源代码?没有它(或者是副本的副本)我恐怕没有办法确定这些数据应该表示什么。

答案 1 :(得分:2)

如果你必须反复这样做或文件很长,你可以选择两件事

在cobol中编写一个程序,它将在字段之间添加逗号并创建一个新文件。然后,您可以在Excel中将该文件作为csv打开。

OR

编写一个excel宏。在一张纸中提供结构,即一列中的字段类型和另一列中的长度。宏将读取文件的结构,并根据文本的长度将文本拆分为多个列。您可以查看this link,了解如何编写宏。

答案 2 :(得分:0)

好吧,因为它的COBOL输出每个字段长度从记录到记录都是一致的。

如果这是一次性任务,我只需在excel中打开它并使用文本到列并手动设置分割点以将每个字段放入其自己的单元格中。

如果这不是一次性的,我只需修改产生输出的程序,使输出记录中的每个字段之间都有逗号。

答案 3 :(得分:0)

RecordEditor / JRecord中的文件向导可以搜索文件中的Mainframe Cobol字段。 FileWizard 结果可以存储在Xml文件中以便在其他语言中使用,或者您可以使用复制功能从Ebcdic复制到Ascii固定或CSV格式。

File Wizard

上有一些过时的文档