Настройка вывода
Содержание:
- Общие параметры
- Настройка вывода в CSV
- Настройка вывода в виде текста
- Настройка вывода в HTML
- Настройка вывода в XML
- Настройка вывода в JSON
Общие параметры
gsqlcmd позволяет настраивать вывод в текстовом формате, CSV, HTML, XML и JSON для режимов exec и convert.
Расширение выходного файла определяет формат вывода по умолчанию:
*.txt - текст *.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.md#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}