Sorry forget to mentioned about this in the previous response.
if you have access to 12.2 client, then we can use the sqlplus "MARKUP" option to get this.
C:\Users\admin>sqlplus /nolog
SQL*Plus: Release 12.2.0.1.0 Production on Thu Apr 20 07:40:17 2017
Copyright (c) 1982, 2016, Oracle. All rights reserved.
idle> conn demo/demo@ora11g
Connected.
demo@ORA11G>
demo@ORA11G> select * from scott.dept ;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
demo@ORA11G> set markup csv on delimiter | quote on
demo@ORA11G> select * from scott.dept ;
"DEPTNO"|"DNAME"|"LOC"
10|"ACCOUNTING"|"NEW YORK"
20|"RESEARCH"|"DALLAS"
30|"SALES"|"CHICAGO"
40|"OPERATIONS"|"BOSTON"
demo@ORA11G>