楼主: 2008310148
13373 12

变量名是中文如何改成英文阿? [推广有奖]

  • 0关注
  • 0粉丝

春香毒

大专生

30%

还不是VIP/贵宾

-

威望
0
论坛币
32 个
通用积分
0.0003
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
394 点
帖子
68
精华
0
在线时间
5 小时
注册时间
2009-2-27
最后登录
2012-3-7

楼主
2008310148 发表于 2009-3-10 00:27:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

各位高手:

       从excel导入的文件,变量名是中文忘记改为英文,而且批量导入文件很多,如果在excel中手动修改也太麻烦。

      现在该怎么改成英文呢?我已经试过rename但是不识别阿!

      请指点迷津!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:rename EXCEL exce xcel 批量导入 变量 中文 英文

回帖推荐

steve10 发表于2楼  查看完整内容

你可以这样做,例如,proc import  datafile="c:\myfile.csv"  out=mydataset dbms=csv replace;   getnames=no;   datarow=2;run;这个过程将把文件c:\myfile.csv输入到SAS数据集mydataset,它不使用excel文件提供的变量名,自己给你一串名字,var1, var2, var3, ....。更重要的是,它将从第二行开始读数据,换句话说,它将跳过第一行。xmok77  奖励 2009-3-10 12:43:43 xmok77  金 ...

本帖被以下文库推荐

沙发
steve10 发表于 2009-3-10 03:16:00

你可以这样做,例如,

proc import
 datafile="c:\myfile.csv"
 out=mydataset dbms=csv replace;
   getnames=no;

   datarow=2;
run;

这个过程将把文件c:\myfile.csv输入到SAS数据集mydataset,它不使用excel文件提供的变量名,自己给你一串名字,var1, var2, var3, ....。更重要的是,它将从第二行开始读数据,换句话说,它将跳过第一行。


xmok77  奖励 2009-3-10 12:43:43
xmok77  金钱 +100  奖励 2009-3-10 12:44:28
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

藤椅
2008310148 发表于 2009-3-10 10:39:00
谢啦!但是运行以后为什么显示datarow语句无效或未按正确顺序使用呢?

板凳
steve10 发表于 2009-3-10 11:31:00

我已经测试过了,没有一点错误。你用的是什么版本?我用的是9.1.3。

报纸
sushe1527 发表于 2009-3-10 14:29:00
以下是引用steve10在2009-3-10 11:31:00的发言:

我已经测试过了,没有一点错误。你用的是什么版本?我用的是9.1.3。

9.13测试通过

地板
2008310148 发表于 2009-3-10 22:44:00

我的也是9.1.3,我是不是程序的顺序不对啊?代码如下:

PROC IMPORT OUT=a
DATAFILE= "C:\Documents and Settings\Administrator\桌面\1.xls"
DBMS=EXCEL;
SHEET="1";
GETNAMES=no;
MIXED=NO;
SCANTEXT=YES;
USEDATE=YES;
SCANTIME=YES;
 datarow=2;
run;

这个datarow=2是不是位置有讲究的?我试过直接排在getnames=no和mixed的中间也不行

[em06]

7
steve10 发表于 2009-3-11 00:26:00

我们用了不同的选择。注意你用了“xls”,而我用的是“csv”。SAS处理这两种文件用的是完全不同的方式。你可以将xls文件存成csv文件,然后使用我上面说的办法。如果你坚持用xls文件,可以如下:

PROC IMPORT DATAFILE="C:\Documents and Settings\Administrator\桌面\1.xls"
 OUT=a DBMS=EXCEL REPLACE;
    GETNAMES=no;
   range="1$a2:c20";
RUN;


quit;

你必须要自己调整上面的“c20”,使得它包含除第一行以外的所有数据。

顺便说一句,用csv文件只需base,而用xls文件则需access模块。不是每一个公司都愿意出钱买那么多模块,因此作SAS,应试图使用最经济的办法。

8
zhenglaiyi 发表于 2009-3-11 09:21:00
变量名不应该是中文的,你看看是不是label
然后你attrib 一下label为空
然后用rename进行变量重新命名一下

9
likewinds 发表于 2009-3-11 10:14:00

range="1$a2:n1145"这种方法已经测试成功.

请问为什么要加$?

另外在import的同时,怎么给变量命名?

谢谢!

10
firstknife 发表于 2009-3-11 10:25:00

用csv文件只需base,而用xls文件则需access模块.

还有这个区别啊,长见识了

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 04:43