У меня есть файл .csv, и мне нужно манипулировать данными в зависимости от начала или конца строки. Как я могу найти начальную точку каждой строки?
Как найти конец строки или начало новой строки в процессе openge 4gl?
Ответы (2)
Проще всего, когда вы уже импортируете файл построчно.
DEFINE VARIABLE cLine AS CHARACTER NO-UNDO.
INPUT FROM yourfile.csv .
REPEAT:
IMPORT UNFORMATTED cLine .
// cLine contains exactly a single line
END.
Если данные более последовательны, вы можете даже использовать ИМПОРТ с РАЗДЕЛИТЕЛЕМ вместо НЕФОРМАТИРОВАННОГО.
person
Mike Fechner
schedule
20.05.2016
Если это действительно 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.
person
Tom Bascom
schedule
20.05.2016