Трубка с разделителями вместо комы через utl_file - PullRequest
0 голосов
/ 11 февраля 2020

Можно ли создать файл .CSV с разделителями канала (|) вместо запятой (,) через пакет UTL_FILE?

Пожалуйста, поделитесь, как это сделать, если это возможно.

Спасибо, Джанардхан.

Ответы [ 2 ]

2 голосов
/ 11 февраля 2020

при открытии файла CSV все данные будут доступны в одном столбце. Можно ли разделить данные на основе разделителя трубы?

Это особенность MS Excel, независимо от того, как файл был создан. Что вам нужно сделать, это

  1. В MS Excel откройте новую книгу
  2. Из меню Данные > Из текста
  3. В мастере выберите С разделителями , параметр
  4. На следующем шаге выберите Другой и введите | в поле
  5. Нажмите Fini sh

Excel теперь откроет ваш файл с несколькими столбцами, как определено каналами.

2 голосов
/ 11 февраля 2020

Конечно, вы можете написать почти все что угодно в CSV-файл ...

declare  
   v_file utl_file.file_type;
begin  

   v_file := utl_file.fopen('DATA_FILE_DIR', 'example2.csv', 'W');
   utl_file.put_line(v_file, 'colid|colstring|colnumber|coldate');  
   utl_file.put_line(v_file, '1|"nothing"|231.12|2019-01-03 23:43:32');
   utl_file.put_line(v_file, '2|"not more"|121|2020-10-05 14:33:15');
   utl_file.FFLUSH(v_file);  
   utl_file.fclose(v_file);  
end;
...