如何计算总行数并使用 progress 4GL 在一个 csv 文件中创建 new/Select sheet?

How do I count total lines and create new/Select sheet in one csv file using progress 4GL?

我是 4GL 的新手。我有一个 CSV 文件,其中包含前 2 行的数据。第一行数据用于用户列表,第二行数据用于要停用的用户。

在我的程序中,如果我选择标志是,那么程序应该检查 CSV 文件中的第二行并将其存储到临时文件 table。请看看我从我这边尝试过的方法,因为它并没有帮助我只关注 CSV 中的第二行,而是获取了所有数据,包括第一行数据。

如果你告诉我如何在 CSV 文件中创建 new/move 到 sheet(秒)并使用 progress 4GL

解析数据,我将非常感激
DEFINE TEMP-TABLE  tt_sec7Role
   FIELD  ttsec_role AS CHARACTER.

DEFINE VARIABLE  v_dataline AS CHARACTER NO-UNDO.
DEFINE VARIABLE v_count  AS INTEGER NO-UNDO.

EMPTY TEMP-TABLE  tt_sec7Role.

input from "C:\Users\ast\Desktop\New folder\cit.csv".
  repeat:
     import unformatted v_dataline. 
     if v_dataline <> '' then
     do:
        do v_count = 1 to NUM-ENTRIES(v_dataline,','): 
           create tt_sec7Role.
           ttsec_role = entry(v_count,v_dataline,',').
        end.
     end. /* if v_dataline <> '' then */
  end. /*repeat*/
  input close.
  v_count = 0.
  FOR EACH  tt_sec7Role:
      v_count = v_count + 1.
  END.
  MESSAGE v_count.

确定是否应该读取第二行后,在临时文件中创建一条记录table,然后进行另一次导入。然后将那部分数据复制到你的tt,最后循环遍历你的tt并导出以逗号作为分隔符的字段。

如果您只需要计算行数,只需添加一个整数并在每个导入语句后增加它:

define variable counter as integer no-undo. 
input from "C:\Users\ast\Desktop\New folder\cit.csv".
repeat:
    import unformatted v_dataline. 
    counter = counter + 1.
    if v_dataline <> '' then
    do:
        //If you only want to do this on line 2
        if counter = 2 then do v_count = 1 to NUM-ENTRIES(v_dataline,','): 
           create tt_sec7Role.
           ttsec_role = entry(v_count,v_dataline,',').
        end.
    end. /* if v_dataline <> '' then */
end. /*repeat*/
input close.