powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Парсинг CSV
25 сообщений из 41, страница 1 из 2
Парсинг CSV
    #38481688
drakut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица с одним столбцом, где некие номера (ID-шники), сохранена в *.CSV. Как мне получить эти ID-шники средствами cache object script?
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481694
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drakutКак мне получить эти ID-шники средствами cache object script?
Открыть тот файл... Читать его с терминатором "возврат_каретки + перевод_строки", пока файл не кончится...
Прочитаные строки и будут твоими ИДшниками.
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481733
drakut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa, буду благодарен за пример кода
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481849
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drakut,
  set filename = "blabla.csv"
  set stream = ##class(%Stream.FileCharacter).%New()
  set stream.StreamFormatWrite = 0
  set status=stream.LinkToFile(filename)    
  if $$$ISOK(status) {
    do  {
      set str = $ZSTRIP($ZSTRIP(stream.ReadLine(,.status),"<>W"),"<>C") quit:$$$ISERR(status)  
      if $extract(str,1) = "#" {continue  } /// Комментарии
      if str = "" {continue  }
        
      set str = $replace(str,"""","")
        
      set strlist = $listfromstring(str,";")            
          
    }while ('stream.AtEnd)
  }
  set stream = "" Модератор: поправил код
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481853
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только prevstr там конечно же нет, забыл убрать
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481896
drakut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ptn, забыл упомянуть: Версия Каши 5.021, нету класса ##class(%Stream.FileCharacter).
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481897
drakut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ptn, так же ругается на set str = $replace(str,"""","") и set strlist = $listfromstring(str,";")
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481907
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drakutбуду благодарен за пример кода
Как вариант...
START /* Пример чтения файла построчно */
  n
  s file="d:\box\tmp.csv"
  s file=$$FOpen(file,"R")
  i file="" w !!,"Проблемы с открытием файла..." q
  do {
    u file
    r str
    s end=$$FEnd 
    u $p
    w str,!
  } while 'end
  c file
  q
FOpen(File,Typ,Sym) /* Открыть файл */
  S Typ=$G(Typ,"WNS")
  S:Typ="W" Typ="WNS"
  S:Typ="R" Typ="RS"
  S Sym=$G(Sym,$C(13,10))
  I $ZU(68,40,1)
  O File:(Typ::Sym):0
  Q:$T File
  Q ""
FEnd() /* Достигнут конец файла */
  q $ZEOF=-1
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481937
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drakut, еще
    s file = ##class(%File).%New( "blabla.csv" )
    s sc = file.Open( "R" ) ;проверить sc
    while 'file.AtEnd {

        s str=file.ReadLine() 

        for i=1:1:$l( str, ";" ) {

            s id=$p( str, ";" ,i ) w !, id

        }
        
    }
    d file.Close()
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481949
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, не расскрашивайте код программ. При цитировании показывает настоящую галиматью.
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481952
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint
Код: vbnet
1.
s str=file.ReadLine() 


Оба-на! Чтение строки появилось в Кащее!!!
Видать что-то здохло в лесу...
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481955
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint
Код: vbnet
1.
d file.Close()


Вроде по последним сведениям ВЦСПС достаточно удаления орефа
Код: vbnet
1.
k file


Или с файлами не так?
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481959
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaРебята, не расскрашивайте код программ. При цитировании показывает настоящую галиматью. Что именно мешает Вам при цитировании?
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481965
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitkrvsaРебята, не расскрашивайте код программ. При цитировании показывает настоящую галиматью. Что именно мешает Вам при цитировании?
Там тьма БиБи-кодов... И выбрать нужный кусок целая проблема...
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481967
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsadoublefint
Код: vbnet
1.
s str=file.ReadLine() 


Оба-на! Чтение строки появилось в Кащее!!!
Видать что-то здохло в лесу...Ну ReadLine у стримов, вроде как уже довольно давно.
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481969
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ptn, $ZSTRIP($ZSTRIP( str ,"<>W"),"<>C") -> $zstrip( str, "<>WC" )
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481973
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaИли с файлами не так?Не так: файл - это внешний ресурс по отношению к Caché, так же как сокеты и т.д.
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481978
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaТам тьма БиБи-кодов... И выбрать нужный кусок целая проблема... Выбрать из самого кода ( не цитаты ) не пробовали?
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481981
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitНе так
Т.е. в случае с файлом - клозим ореф, а киляние можно и не делать?
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481985
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorНу ReadLine у стримов, вроде как уже довольно давно.
Смотря с какого времени вести отсчет...
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481989
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaОба-на! Чтение строки появилось в Кащее!! Угу, еле дождался выпуска версии 5.0 :)
P.S. Под рукой нет развернутой v4, но есть подозрение....
...
Рейтинг: 0 / 0
Парсинг CSV
    #38481990
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitВыбрать из самого кода ( не цитаты ) не пробовали?
Зачем мне это делать? Просто не расскарывайте коды. Хотя бы чужие... Это ведь не трудно... Просто ничего не далайте и все.
...
Рейтинг: 0 / 0
Парсинг CSV
    #38482011
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa Или с файлами не так? Правило "Открыл-Закрой"? Подсмотрел в %File:
/// Close the current file.
Method Close()
{
  If ..IsOpen {
    Close ..Name  ; <--- !!! 
    Set i%IsOpen=0,..AtEnd=0
  }
  Quit
}

Method %OnClose() As %Status [ Private ]
{
  #; close the file if open
  Do:..IsOpen ..Close() ; <--- !!!
  Quit $$$OK
}
...
Рейтинг: 0 / 0
Парсинг CSV
    #38482047
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint , ранее и классы клозились... А потом это отменили...
...
Рейтинг: 0 / 0
Парсинг CSV
    #38482051
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaТ.е. в случае с файлом - клозим ореф, а киляние можно и не делать?Закрытие файла - это одно, закрытие (освобождение) переменной-указателя на файл - это другое.

Зачастую "килять" переменные уже нет смысла, поскольку, начиная с версии 5.1, ProcedureBlock включён по умолчанию.
Всё зависит от области видимости Вашей переменной.

PS:
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Парсинг CSV
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]