【问题标题】:Saving the query results to csv将查询结果保存到 csv
【发布时间】:2019-10-16 09:12:32
【问题描述】:

我想知道是否可以将查询结果保存到 csv?不创建视图。

我有一张大桌子,但只需要从那里用 python 处理 2 列。也许有人可以帮忙?

【问题讨论】:

  • 不,我不需要只导出整个表格的几列
  • 您可以使用该答案中的任何选项并添加keep 子句来限制列。在您指定要通过data=mydataset mydata 导出的数据集的地方,您可以将mydata 替换为mydata(keep = col1 col2)

标签: sas


【解决方案1】:

这里有三种方法

消耗臭氧层物质

SQL 查询可以输出到ODS CSV 目标。这种方法涵盖了最广泛的查询可能性。

ods csv file='c:\temp\query-results.csv';

proc sql;
  select name, age 
  from sashelp.class
  where name like 'J%'
  ;
quit;

ods csv close;

导出程序

可以应用 Where 子句使用保留的列 'a large table' (data=)

proc export 
  data = sashelp.class(
    keep=name age
    where = (
      name like 'J%'
    )
  ) 
  replace 
  file = 'c:\temp\class-subset.csv'
  dbms = csv
  ;
run;

数据_null_

可以使用“大表”(SET) 的 any 列应用 Where 语句。 PUT 语句管理输出哪些列。

data _null_;
  set sashelp.class;
  where name like 'J%';

  file 'c:\temp\subset-per-datastep.csv' dlm=',' dsd;

  if _n_ = 1 then put 'name,age';
  put name age;
run;

【讨论】:

  • 很好,我能想到的唯一其他方法是%ds2csv() 实用宏,但我敢肯定还有其他方法......我想知道我们缺少多少?跨度>
【解决方案2】:

我认为您可以使用 ods 创建带有结果的文件,例如:

ods csv file="C:\test.csv" options(delimiter=';');

proc sql;
   select * from sashelp.class;
quit;

ods csv close;

【讨论】:

    猜你喜欢
    • 2014-02-20
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多