sas - SAS将excel数字列作为文本导入
问题描述
我有一个 Excel 文件,其中有一列格式化为“常规”。它包含数值,但我希望它作为文本导入。
当我使用:
PROC IMPORT OUT= test DATAFILE= "C:\file"
DBMS=xlsx REPLACE;
GETNAMES=YES;
RUN;
有时它作为数字导入,有时作为文本导入。如何始终将其作为文本导入?我在 Windows 7 和 excel 2010 上使用 sas 9.4。
即使这不起作用......它不会改变数据类型:
PROC IMPORT OUT= test DATAFILE= "C:\data.xlsx"
DBMS=excel REPLACE;
DBDSOPTS= "DBTYPE=(Employee_No='CHAR(3)')";
GETNAMES=YES;
RUN;
解决方案
这是您可以使用 PCFILES 方法而不是 XLSX 的一种方法。
libname test pcfiles path= 'c:\_localdata\demo.xlsx';
data want;
set test.'Sheet1$'n (dbsastype=Random=char8);
run;
libname test;
推荐阅读
- c++ - 如何使用 C/C++ 使用 Mailgun 发送电子邮件?
- ubuntu - 安装 phalcon 开发工具 3.4
- perl - Perl:如何从@EXPORT 打印变量和值
- python - 在 Python 中从 excel 转换为 csv 时向 CSV 添加附加列
- c++ - C++如何在二维向量初始化中创建不同的向量?
- python - 我无法在 Django 中访问我的管理员
- javascript - 如何在数字类型的 html 输入上禁用键盘输入?在 react 或 material-ui 中呢?
- python - 在odoo的controllers.py文件中,如何获取post请求正文中的json字符串?
- javascript - 比在打字稿中使用 setter 更好的方法:声明了私有变量但未读取值问题
- python - 为什么 nltk 字数计数不同于使用正则表达式的字数计数?