Настройка вывода
Содержание:
- Общие параметры
- Настройка вывода в CSV
- Настройка вывода в виде текста
- Настройка вывода в HTML
- Настройка вывода в XML
- Настройка вывода в JSON
Общие параметры
gsqlcmd позволяет настраивать вывод в обычный текст, CSV, HTML, XML и JSON для режимов exec и convert.
Расширение выходного файла определяет формат вывода по умолчанию:
*.txt - text *.csv - CSV *.htm - HTML *.html - HTML *.xml - XML *.json - JSON
Используйте опции /asText, /asCsv, /asHtml, /asXml и /asJson для явного указания формата вывода.
Используйте следующие опции для определения параметров вывода:
/dateFormat=<format> /dateTimeFormat=<format> /timeFormat=<format> /outputCodepage=<codepage> /outputCulture=<name> /noBOM
Используйте опцию /noHeaders, чтобы запретить добавление имен выходных столбцов.
Например:
gsqlcmd convert "SELECT loc FROM sitemap.xml" sitemap.txt /noHeaders
Используйте опции /addRowNum и /rowNumBase, чтобы добавить в вывод столбец с номером строки.
Например:
gsqlcmd exec db dbo.data /AddRowNum /RowNumBase=1
Используйте опцию /add с фиксированными значениями и функции, чтобы добавлять новые столбцы к выходным данным.
Например:
gsqlcmd convert test.csv output.csv /add=Symbol=AAPL;Date=Date()
Настройка вывода в CSV
Вы можете найти полезными следующие опции, используемые при выводе в CSV:
/escapeChar=<char> /[[output]Separator](formatting-options.htm#option-outputSeparator)=<separator> | Tab /quoteChar=<char>
Например:
gsqlcmd convert http://www.nasdaq.com/symbol/aapl/dividend-history dividends.csv /quoteChar= /separator=,
Настройка вывода в виде текста
gsqlcmd не имеет специальных опций для вывода простого текста. Используйте общие параметры, описанные выше.
Настройка вывода в HTML
gsqlcmd поддерживает дополнительные параметры шаблона, специфичные для вывода в HTML:
/noTemplate /placeholder=<placeholder> /template=<file name> /title=<title>
Основная команда создает документ HTML с использованием шаблона по умолчанию.
Например:
gsqlcmd convert data.csv data.htm
Вы можете указать шаблон, заполнитель вывода и заголовок следующим образом:
gsqlcmd convert data.csv data.htm /template=sales_template.htm /placeholder=year_sales "/title=Отчет о продажах"
Чтобы создать заполнитель в HTML-шаблоне, используйте вставку в фигурных скобках, например {year_sales}.
{title} - это встроенный заполнитель, который получает значение опции /title.
Используйте опцию /noTemplate, чтобы отключить использование шаблона.
Настройка вывода в XML
Вы можете использовать простую команду для получения XML-документа.
Например:
gsqlcmd convert test.csv test.xml
К примеру, test.csv содержит следующие строки:
id;f1;f2 1;data11;data12 2;data21;data22 3;data31;data32
Команда преобразует данные к следующему виду:
<?xml version="1.0" encoding="UTF-8"?> <table> <row><id>1</id><f1>data11</f1><f2>data12</f2></row> <row><id>2</id><f1>data21</f1><f2>data22</f2></row> <row><id>3</id><f1>data31</f1><f2>data32</f2></row> </table>
Вы можете использовать опции /xmlRoot и /xmlRow, чтобы изменить имена корневого узла и узла строки.
Например:
gsqlcmd convert test.csv test.xml /xmlroot=data /xmlrow=element <?xml version="1.0" encoding="UTF-8"?> <data> <element><id>1</id><f1>data11</f1><f2>data12</f2></element> <element><id>2</id><f1>data21</f1><f2>data22</f2></element> <element><id>3</id><f1>data31</f1><f2>data32</f2></element> </data>
Вы можете использовать пустые значения с опциями и отключить шаблон по умолчанию с помощью опции /noTemplate.
Например:
gsqlcmd convert test.csv test.xml /xmlroot= /xmlrow= /notemplate <id>1</id><f1>data11</f1><f2>data12</f2> <id>2</id><f1>data21</f1><f2>data22</f2> <id>3</id><f1>data31</f1><f2>data32</f2>
Кроме того, вы можете использовать опции /template и /placeholder для настройки шаблона и положения вывода.
Ниже приведен шаблон, используемый по умолчанию, с заполнителем {table}:
<?xml version="1.0" encoding="UTF-8"?> {table}
Вы можете изменить кодировку вывода с помощью опции /outputCodepage.
Настройка вывода в JSON
gsqlcmd генерирует выходные данные JSON в виде массива.
К примеру, test.csv содержит следующие строки:
id;f1;f2 1;data11;data12 2;data21;data22 3;data31;data32
Базовая команда преобразует данные к следующему виду:
gsqlcmd convert test.csv test.json [{"id":1,"f1":"data11","f2":"data12"} ,{"id":2,"f1":"data21","f2":"data22"} ,{"id":3,"f1":"data31","f2":"data32"} ]
Чтобы изменить выходной документ, создайте шаблон и используйте опции /template и /placeholder.
Например, создайте template.json:
{"result":{table},"error":null}
и используйте команду:
gsqlcmd convert test.csv test.json /template=template.json
Выходной файл будет иметь следующее содержимое:
{"result":[{"id":1,"f1":"data11","f2":"data12"} ,{"id":2,"f1":"data21","f2":"data22"} ,{"id":3,"f1":"data31","f2":"data32"} ],"error":null}