查看原文
其他

putdocx生成Word文档so easy!

爬虫俱乐部 Stata and Python数据分析 2022-03-15
本文作者:王子一, 中南财经政法大学金融学院

本文编辑:陈丹慧

技术总编:余术玲

爬虫俱乐部云端课程

  爬虫俱乐部于2020年暑期在线上举办的Stata与Python编程技术训练营和Stata数据分析法律与制度专题训练营已经圆满结束啦~应广大学员需求,我们的课程现已在腾讯课堂全面上线,且继续提供答疑服务。现在关注公众号并在朋友圈转发推文《来腾讯课堂学Stata和Python啦》或《8月Stata数据分析法律与制度专场来啦!》,即可获得600元课程优惠券,集赞50个再领200元课程优惠券!(截图发至本公众号后台领取)原价2400元的课程,现在只要1600元!


导读

大家已经是一位成熟人士了,那么我们就要学会优雅地将实证结果导入到它需要在的位置上,而不是简单的复制粘贴或建表输入。今天我们介绍两个命令putdocx textputdocx textblock来帮助大家优雅地将文本导入到docx中去。

putdocx 

putdocx是一个可以输出文字、绘图、表格到docx文档中的命令。它可以用命令行生成word文档,可以控制文档的纸张大小、页眉页脚,可以向文档中插入文字、表格、图片等,还可以控制每一个字的字体、大小、颜色、背景色,表格内每一个单元格的格式、对齐方式等。

基本语法介绍:

putdocx begin, pagesize(A4) //设置纸张大小 putdocx paragraph, halign(center) //新写入一段,将段落内容居中 putdocx text ("实证结果") //输入文本内容 putdocx textblock //输入新的一段 putdocx textfile //在新的段落里添加预格式化的文本 putdocx image     //在当前段落插入图像 putdocx pagenumber //在页眉/页脚设置页码 putdocx save 文本分析.docx, replace //保存文本今天主要介绍putdocx text相关命令,如下:


putdocx text

首先介绍命令常用选项的基本语法,如下:
putdocx text ("实证结果"),font("宋体",20,black) linebreak//输出文本并设置字体、字号、颜色 putdocx text ("实证结果"),font("宋体",20,black) bold linebreak //输出文本并加粗 putdocx text ("实证结果"),font("宋体",20,black) italic linebreak //输出文本并加斜 putdocx text ("实证结果"),font("宋体",20,black) shading(yellow) linebreak //输出文本并加阴影(可指定阴影颜色) putdocx text ("实证结果"),font("宋体",20,black) underline linebreak //输出文本并加下划线 putdocx text (""), linebreak //不输入文本内容,直接换行 putdocx text ("实证结果"),linebreak //输出文字内容并换行注意:text 和()之间要留空格! 
下面我们来运行一下程序为大家展示效果:

这里插播一条信息!!为了防止要编辑的.docx文件已经打开,造成程序报错,我们首先用taskkill命令关闭所有打开的word文件。

 ! taskkill /F /IM WINWORD.EXE /T  //结束之前的word文件免得程序卡顿下面就开始吧!
clear all cap mkdir D:\结果输出 cd D:\结果输出 ! taskkill /F /IM WINWORD.EXE /T //结束之前的word文件 免得程序卡顿 putdocx begin, pagesize(A4) //设置纸张大小 putdocx paragraph, halign(center) //halign 设置居中 putdocx text ("实证结果"),font("宋体",20,black) linebreak //输出文本并设置字体、字号、颜色 putdocx text ("实证结果"),font("宋体",20,black) bold linebreak //输出文本并加粗 putdocx text ("实证结果"),font("宋体",20,black) italic linebreak //输出文本并加斜 putdocx text ("实证结果"),font("宋体",20,black) shading(yellow) linebreak //输出文本并加阴影(可指定阴影颜色) putdocx text ("实证结果"),font("宋体",20,black) underline linebreak //输出文本并加下划线 putdocx text (""), linebreak //不输入文本内容,直接换行 putdocx text ("实证结果"),linebreak //输出文字内容并换行 putdocx save 实证结果输出.docx, replace效果如下,清晰明了,很容易理解与应用:

当然你可以手动打开你保存的文件,或者,不妨试试看用命令shellout查看输出结果:

 ssc install outreg2 // 安装此命令包,调用shellout命令
运行文档写入程序后,shellout输出结果,效果同上: shellout "实证结果输出.docx"还有其他许多可以设定的样式,我们用表格的形式为大家介绍:
名称介绍
nformat(% fmt)文本内容是数字时,指定数字格式
font(fspec)设置字体、字号、颜色
bold加粗
italic斜体
script(sub/super)更改新文本的脚本样式(sub为下标;super为上标)
strikeout指定活动段落中的新文本具有删除线标记
underline(upattern)加下划线
shading(sspec)加阴影
linebreak换行
allcaps将文本格式设置为大写
smallcaps将文本格式设置为小写
hyperlink(link)将文本添加为超链接
trim删除文本中的前导和尾随空格


putdocx textblock


putdocx textblock有两个选项,其一putdocx textblock begin为添加了一个新段落,可以在其中添加一段文本;其二putdocx textblock append为在当前段落添加文本块。很容易理解,我们直接上代码:
 clear all cd D:\结果输出 ! taskkill /F /IM WINWORD.EXE /T //结束之前的word文件免得程序卡顿 putdocx begin // 声明使用 putdocx 命令,新建 Word 文档 putdocx paragraph, style(Title) // 添加段落标题,样式为 "标题 (Title)" putdocx text ("实证结果分析") // 添加文本块 putdocx textblock begin 实证结果表明:..... putdocx textblock end putdocx save 文本.docx, replace出现的样式如下:如若在程序中插入putdocx textblock append,即在当前的段落中追加新的文本内容。那么 ,今天的介绍就到这里啦,在之后的推文中我们将会继续介绍相关的结果输出命令的使用,大家敬请期待~



对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!往期推文推荐

模糊匹配我只用这一招!

利用tushare获取财务数据

爬虫实战|Selenium爬取微信公众号标题与链接

轻轻一点,就知有没有|rqrs命令介绍

强大的正则表达式

自动群发邮件(二)——附带附件

自动群发邮件--email和smtplib基本模块的使用

批量处理变量名和标签的小方法

计算工作日的小能手——workdays

Seminar | 企业错报与银行贷款合同

Seminar | 共同基金行业的性别歧视Seminar | 来自女儿的塑造:高管、女性社会化与企业社会责任

小贴士:Markdown的基本语法

听说相貌也能量化 | 调用百度人脸检测API实现颜值打分

列出指定属性的变量|findname命令比ds命令

新一代的标签转码小能手【爬虫实战】亚马逊网站Top100畅销书爬取

Json文件好帮手——JsonPath

数据转置pro之sxpose2文件"搬家"小助手:mvfiles

pyecharts绘图——河流图展示

你知道MDPI期刊的热门题目吗?

关于我们


微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata和python的数据处理和分析技巧。投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存