0

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

4

2 回答 2

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 语句中使用正确键入的字段。

于 2016-05-20T15:34:18.877 回答
0

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

DEFINE VARIABLE cLine AS CHARACTER NO-UNDO.

INPUT FROM yourfile.csv .

REPEAT:
    IMPORT UNFORMATTED cLine .

    // cLine contains exactly a single line
END.

如果数据更一致,您甚至可以使用带 DELIMITER 的 UNFORMATTED 导入。

于 2016-05-20T05:51:02.980 回答