先生们,你们好。我们在tweet中引入了listtab命令,也可以将RTF格式的数据列表导出到RTF文档中。但是如何创建一个特定格式的RTF数据列表呢?在stata的RTF命令包中,可以很容易地处理rtfrstyle命令。
Rtfrstyle命令语法
rtfrstyle [ varlist ] [,cwidths(numlist)trgaph(#)trleft(#)tdposition(tab def _ position)tdadd(string)cdadd(string _ list)misnum(string)local(local _ macro _ name _ list)]
1.[varlist]指定构成数据列表的变量
2.cwidths(numlist)以缇(单位)为单位指定每个变量的列宽,列宽设置的位置与[varlist]中变量的位置一一对应,所以列宽设置的个数等于变量的个数。如果未指定cwidths(),默认列宽为1440缇(等于1英寸)。
3.trgaph()选项用于设置行单元格之间的间隔。如果未定义,默认值为空2。
4.trleft()选项设置表格左边缘的位置
5.tdadd()选项,自由定义表格线条样式。例如,tdadd(“trqr”)表示行单元格居中对齐
6.missnum()选项,设置表示数据列表缺失值的字符串。默认值为空字符串。如果数据列表中没有缺失值,则无需考虑设置该选项。
介绍完这个,你是不是觉得列表的format语句很复杂,不过好在rtfrstyle有一个默认的表格样式,用户对表格样式没有特殊要求的话不需要添加上面的命令选项。
如何使用listtab命令导出默认格式的RTF列表?我们已经介绍了四个基本选项,begin(),end(),delimiter()和missnum(),需要在通过listtab导出表格时定义以设置表格导出样式。如果手动输入RTF文档格式的语法比较复杂,容易出错,那么我们可以通过rtfrstyle的local()选项在宏中设置RTF表的默认格式,在导出listtab命令时直接调用宏。Local( b d e)表示将rtfrstyle的默认设置放在宏的begin(),end()和delimiter()选项中。让我们举个例子来帮助你理解rtfrstyle+listtab:
一个
创建列表数据
为了方便大家获取数据,我们使用股票交易数据作为数据样本
c等级2
保持联系
保持在1/10
2
创建RTF文档
创建一个即时交易文件,并为要导入的数据列表编写标题“股票交易数据”
tempname句柄
rtfopen `handle "使用" c:/rtf/my.rtf ",替换
文件写` handle' "{par dbfs60` = ustrto("股票交易数据"," gb2312 ",1)'par} "
三
用中文转码变量
在我们的数据列表中,stknme值包含中文,所以我们还需要对其进行转码,以避免中文乱码。整个变量怎么转码?
替换str knme = ustrto(str knme," gb2312 ",1)
注意变量名stknme没有放在"",而ustrto(变量名,“GB 2312”,1)表示对整个变量进行转码。
四
将股票交易数据制作成实时交易表
通过rtfrtyle命令将股票交易数据制作成RTF表
rtfrstyle stknme rit date,local(b d e)
五
使用listtab命令导出表格
listtab stknme rit date,handle(` handle ')begin(“` b '”)delim(“` d '”)end(“` e '”)
Head("`b'ql{`=ustrto("股票代码"," gb2312 ",1)'}`d'qr{`=ustrto("每日收益率"," gb2312 ",1)'}`d'qr{`=ustrto(")
(注意:我们已经为listtab命令的开始delim和结束选项值直接调用了rtfstyle的宏。)
如图,RTF文档导入了我们需要的股票交易数据列表。在stata14中,如果我们不对stknme变量进行代码转换,将出现以下乱码情况:
如果我们想延长事务日期单元格的列宽,只需在rtfrstyle命令后添加cwidths选项来更改列宽,例如,将日期变量的列宽设置为2160缇:
tfrstyle stknme rit date,cwidths( 1440 1440 2160) local(b d e)
* *变量名的位置与其列宽之间存在一一对应关系
附上完整的程序:
清晰的
引发更多
c等级2
保持联系
保持在1/10
tempname句柄
rtfopen `handle "使用" c:/rtf/datalist.rtf ",替换
吵闹地捕捉
文件写` handle' "{par dbfs60` = ustrto("股票交易数据"," gb2312 ",1)'par} "
替换str knme = ustrto(str knme," gb2312 ",1)
rtfrstyle stknme rit date,cwidths( 1440 1440 2160) local(b d e)
列表选项卡STK NME日,句柄(` handle ')开头(` b ')、delim(` d ')、end(` e ')、head(` b ' QL { ` = ustrto(" '股票代码"," gb2312 ",1)
rtfclose `handle '
在广大粉丝的要求下,爬虫俱乐部的推文微信官方账号奖励功能可以开票。如果累计奖励超过1000元,我们可以给你开发票。发票类别是“咨询费”。用心做事,只为做你更贴心的小爬虫。第一张批发票已经发给小师傅了。来奖励一下小爬虫~
文字编辑:司海涛
技术编辑:刘贝贝
之前的推文推荐:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
关于我们
微信微信官方账号“Crawler Club”分享实用stata命令,欢迎转载和奖励。爬虫俱乐部是由李春涛教授带领的研究生和本科生组成的大数据分析和数据挖掘团队。
另外,欢迎大家积极投稿,介绍一些关于stata的数据处理和分析技巧。
提交邮件:statatraining@163.com
提交要求:
1)必须是原创,禁止抄袭;
2)一定要准确,详细,有举例和截图;
注意事项:
1)所有投稿都会经过微信官方账号运营团队成员审核,审核通过后才能录用。一旦被录用,作者将在推特上签名,并获得奖励。
2)请在邮件中注明提交,邮件名称为“提交”+“推文名称”。
3)应读者要求,现提供付费问答服务。如果遇到关于stata分析数据的问题,可以在微信官方账号里问,只需要付一点小报酬。我们会在后面的推文中回答他们。
欢迎来到爬行动物俱乐部
1.《rtf 如何创建特定格式的RTF数据列表—rtfrstyle》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《rtf 如何创建特定格式的RTF数据列表—rtfrstyle》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/1489688.html