如何找到行结束或开始新行的开放4gl?

时间:2016-05-20 05:36:12

标签: csv newline progress-4gl openedge 4gl

我有.csv文件,我需要根据行的开头或结尾来操作数据。如何找到每一行的起点?

2 个答案:

答案 0 :(得分:0)

当您逐行导入文件时,这是最简单的。

DEFINE VARIABLE cLine AS CHARACTER NO-UNDO.

INPUT FROM yourfile.csv .

REPEAT:
    IMPORT UNFORMATTED cLine .

    // cLine contains exactly a single line
END.

如果数据更加一致,您甚至可以将IMPORT用于UNFORMATTED的DELIMITER insteam。

答案 1 :(得分:0)

如果它真的是CSV,那么你可以非常有效地处理它:

define variable inputItemList as character no-undo extent 128.
define variable i as integer no-undo.

input from value( "yourfile.csv" ).
itemLoop: repeat:
  inputItemList = ?.
  import delimiter "," inputItemList.
  do i = 1 to 128:
    if inputItemList[i] = ? then
      next itemLoop.
     else
      do:
        /* do something useful with this item... */
      end.
  end.
end.
input close.

“128”是任意数量的项目 - 如果您比我更了解您的数据,请选择不同的项目。

如果数据不是所有字符字段并且它是一致的,那么您也可以在IMPORT语句中使用正确键入的字段。