我使用VSQL从CSV格式的表中提取数据,使用以下命令:
-h host_address -d db_name -u user_name -w密码-A -F,-t -f script_to_extract_data.sql -o output.csv
但是,它输出列标题、数据行和一个额外的行,该行指示表中的行总数,如下所示:
Geography,Product,Campaign,VariableName,Outlet,Creative,Period,VariableValue
Geo_00000,Product,BABY,web_sales,Total,Total,2016-10-03,24.06
Geo_00000,Product,BABY,web_sales,Total,Total,2016-10-08,67.17
Geo_00000,Product,BABY,web_sales,Total,Total,2016-10-17,404.67
(3 rows)如果不包括-t选项,它将只输出如下所示的数据:
Geo_00000,Product,BABY,web_sales,Total,Total,2016-10-03,24.06
Geo_00000,Product,BABY,web_sales,Total,Total,2016-10-08,67.17
Geo_00000,Product,BABY,web_sales,Total,Total,2016-10-17,404.67我想要列标题和数据,但不需要如下所示的总行号:
Geography,Product,Campaign,VariableName,Outlet,Creative,Period,VariableValue
Geo_00000,Product,BABY,web_sales,Total,Total,2016-10-03,24.06
Geo_00000,Product,BABY,web_sales,Total,Total,2016-10-08,67.17
Geo_00000,Product,BABY,web_sales,Total,Total,2016-10-17,404.67通过阅读VSQL命令行选项,我认为我没有办法限制未显示的行总数?任何有通过命令行使用VSQL的经验的人都可以帮助我,我将非常感谢您的帮助。谢谢!
发布于 2016-12-05 04:26:03
没有记录在案的方法来做这件事。
您只需将一个select注入到您的脚本中,就可以打印出标题,而只保留元组。
\t
\a
\f ,
\o output.csv
select 'Geography', 'Product', 'Campaign', 'VariableName', 'Outlet', 'Creative', 'Period', 'VariableValue';
select Geography, Product, Campaign, VariableName, Outlet, Creative, Period, VariableValue
from mytable;
\o我想,如果你真的,真的很困扰你两次列出这些字段,你可以用一个变量。
\set fields Geography,Product,Campaign,VariableName,Outlet,Creative,Period,VariableValue然后在两个查询中引用:fields (只需对头列表使用' )。在这种情况下,头列表只需要是一个字符串,分隔符必须是,,因为它也将在sql中使用。这只是个想法。
发布于 2018-07-27 18:37:00
如果没有-t添加,-P footer=off...this将为您提供没有页脚的页眉,就像您想要的那样。
vsql -h [host_address] -p [port] -d [db_name] -u [user_name] -w [password] -AP footer=off -F , -f script_to_extract_data.sql -o output.csvhttps://stackoverflow.com/questions/40941620
复制相似问题