查看原文
其他

玩转word文档“大变身”——wordconvert

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:赵一帆,中南财经政法大学金融学院

本文编辑:温和铭

技术总编:戴   雯

Stata&Python云端课程来啦!

为了感谢大家长久以来的支持和信任,爬虫俱乐部为大家送福利啦!!!Stata&Python特惠课程双双上线腾讯课堂~原价2400元的Python编程培训课程,现在仅需100元,详情请查看推文《Python云端课程福利大放送!0基础也能学~》。关于Stata,爬虫俱乐部推出了系列课程,内容包括字符串函数、正则表达式、爬虫专题和文本分析,可以随心搭配,价格美丽,物超所值,更多信息可查看Stata系列推文《与春天有个约会,爬虫俱乐部重磅推出正则表达式网络课程!》《与春天有个约会,爬虫俱乐部重磅推出基本字符串函数网络课程》等。变的是价格,不变的是课程质量和答疑服务。对报名有任何疑问欢迎在公众号后台和腾讯课堂留言哦

导读


小伙伴们,我们有时候会遇到修改word文档格式的情况,在更改文件类型时候我们一般会采用更改文件拓展名后缀的方式实现,但是直接修改文件后辍来实现文件格式的转换操作有一定的风险性。修改一个word文档格式还算轻松,但如果是批量修改文档格式,一个一个修改word文档格式费时费力,还容易出错。哈哈哈那么我们还有没有偷懒的小技巧呢?

当当当~对于上述情况,可以使用我们爬虫俱乐部自己开发的命令——wordconvert,它可以帮助我们快速准确地更改word文件类型。这个命令通过调用PowerShellMS Word实现了rtf、doc、docx、dot、pdf、xps等文件格式相互转换。那我们该如何使用这个强大的word类型转换命令wordconvert呢?我们需要先做好如下准备:

1.保证电脑里面装有Microsoft Word2007或更高的版本。

2.需要配置好PowerShell脚本执行权限和环境变量。


何为PowerShell?

小伙伴们,转转你们聪明的小脑瓜,首先什么是PowerShell呢?

是不是感到一头雾水呢?

其实顾名思义,PowerShell首先是个Shell,Shell的作用是接收用户的操作(输入命令),并进行简单的处理,然后再传递给内核,最终控制控制计算机硬件(CPU、内存、显示器等)。第一,它可以定义一些命令与操作系统,与dos文件系统交互,能够启动应用程序。与在Dos中一样,在PowerShell的交互界面上键入"dir"并回车,会显示当前文件夹下的子文件夹和文件信息;第二,PowerShell也支持将命令列表做成脚本文件(Scripts)来执行,它的脚本文件是以.PS1为扩展名的;第三,PowerShell能够能够充分利用.Net类型和COM对象,来简单地与各种系统交互,完成各种复杂的、自动化的操作。

接着介绍一下PowerShell脚本的4种执行权限:

Restricted——默认的设置, 不允许任何script运行
AllSigned——只能运行经过数字证书签名的script
RemoteSigned——运行本地的script不需要数字签名,但是运行从网络上下载的script就必须要有数字签名
Unrestricted——允许所有的script运行
windows默认的脚本执行权限为Restricted,即为不允许任何脚本运行,你可以使用"Set-ExecutionPolicy"cmdlet来改变PowerShell环境。
配置PowerShell执行权限和环境变量

如果大家是之前没有设置过PowerShell脚本执行权限,应该都会显示出“Restricted”的字样,它说明PowerShell是禁止外部脚本运行或下载到本地的脚本的运行。但是我们为了既维护电脑的安全,又能用PowerShell执行下载到本地的脚本,需要更改PowerShell对脚本执行的限制。所以我们在使用wordconvert命令之前,我们需要解除PowerShell对脚本执行的限制,完成执行命令前的准备工作:

01
将PowerShell的Execution设为RemoteSigned步骤一:使用“Win+Q”快捷键,通过系统的搜索找到PowerShell,然后选择“以管理员身份运行”选项。

步骤二:直接输入“get-ExecutionPolicy”查看PowerShell对脚本的执行策略,可以看到如下的界面:

步骤三:继续输入“set-ExecutionPolicy RemoteSigned”,再输入”y”,设置完毕。设置好之后,我们再输入“get-ExecutionPolicy”检查是否设置成“RemoteSigned”。

如图所示,我们已经成功地把PowerShell的脚本执行的限制更改为了“RemoteSigned”。
02PowerShell所在的路径添加到环境变量里面我们先要找到自己电脑上PowerShell所在的位置,如图所示,笔者的PowerShell的路径为“C:\Windows\System32\WindowsPowerShell\v1.0”

接着,我们找到“我的电脑”,用鼠标右键点进去,点击属性,再点击高级系统设置。

接着在系统设置中选择环境变量。

在这个界面里双击系统变量列表里的path。

点击新建,添加上文提到的PowerShell所在的路径。

如上图所示,我们终于完成了第二步,把PowerShell所在的路径添加到环境变量。

接下来,我们就可以小试牛刀,使用这个方便的文档转换神器wordconvert命令啦!



命令介绍
1安装命令
wordconvert命令是一个外部命令,首先要安装一下。ssc install wordconvert2
命令语法

简单来说,wordconvert命令通过识别它们的文件扩展名,调用PowerShell,让它和word之间转换word文件的类型。转换前后的文件扩展名可以是.rtf, .doc,.dot, .docx, .pdf , .xps,.docx(pdf转换为其他类型需要msword 2013或以上版本)。基本命令如下:

wordconvert old_file.extension new_file.extension, [options]

它的选项主要有两个:

  • replace:它的作用是替换已经存在的文件

  • encoding(string)PowerShell的默认编码是ASCII,如果想要传输的文件包含非ASCII字符,需要使用此选项。
3案例介绍

     我们使用auto数据集回归出的docx类型的word并结合putdocx命令举例,介绍该命令的用法。      首先进行两个简单线性回归,把模型设为模型一和模型二,并把结果保存在一个“实证结果输出”的文档中。clear all
cap mkdir F:\命令结果
cd "F:\命令结果"
sysuse auto
reg price mpg weight         //对price,mpg,weight进行回归
est store m1               //把回归结果保存在m1
reg price mpg weight length   //对price mpg weight length回归
est store m2                 //把回归结果保存在m2
reg2docx m1 m2 using 实证结果输出.docx, mtitles("Model 1" "Model 2") replace
dir
      此时,我们使用dir查看一下目录的文件。

    接着,我们使用wordconvert命令把实证结果输出的文档由docx格式分别变为rtf格式,pdf格式,doc格式,doc格式,xps格式并保存下来。具体代码如下:wordconvert "实证结果输出.docx" "实证结果输出.rtf" ,encoding(gb18030) replace
wordconvert "实证结果输出.docx" "实证结果输出.pdf", encoding(gb18030) replace
wordconvert "实证结果输出.docx" "实证结果输出.doc", encoding(gb18030) replace
wordconvert "实证结果输出.docx" "实证结果输出.dot", encoding(gb18030) replace
wordconvert "实证结果输出.docx" "实证结果输出.xps", encoding(gb18030) replace

    此时,我们再使用dir查看一下该路径下的文件。

如图所示,我们成功地转换了文件格式,并成功保存了rtf格式,pdf格式,doc格式,doc格式,xps格式的文档格式。这里要注意一点,由于PowerShell默认识别的编码是ASCII,在使用Stata14以及更高版本时,由于使用的编码是UTF-8,所以当路径和文件名称出现中文时,一定要加上encoding()选项进行转码,把它的编码方式由GB18030转为UTF-8,它的作用是把str类型数据进行处理,并返回给定编码的字节形式。

以上,就是对wordconvert命令的简单介绍啦,大家赶紧动手试试吧!

最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。

三连一下,学习更多技能~


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

往期推文推荐     

        数据读入|一文读懂用Stata读入不同类型的数据

        简述递归

         OpenCV库——轻松更换证件照背景色

         800万年薪!还有谁?!

        千古伤心词人,词伤几何?

去哪儿网攻略爬取——跟我一起去大理吧

"有你才有团"——Stata爬取王者荣耀英雄海报

  爬虫实战|嚣张的徽州宴老板娘错在哪?

如何获取衡量股民情绪的指标?|东方财富股吧标题爬虫

利用Python构建马科维茨有效边界

rangestat,让统计量灵活滚动起来!

听说这样做立项成功率更高哦

如何处理缺失值?这一篇搞定!

  善用dataex命令,高效沟通你我他

  用Markdown制作简历,强力助力你的求职季

大数据下的大学分数线排行榜,快来围观!

《觉醒年代》—带你回到百年前

用Stata画的三维图很奇怪怎么办?

如何随机生成满足特定数据特征的新变量?

爬取无法翻页网页——自然科学基金项目及可视化

爬取京东评论数据进行情感分类

Stata与音乐之间的酷炫连接

这些年,爬虫俱乐部走出的博士们!
         看这里,近五年各校高被引论文上榜名单!

高校经管类核心期刊发文排行榜

疯狂的科研创新加速器——Stata!

  可盐可甜,“粽”有所爱,快来pick你最爱的粽子吧!

  好玩有趣的手绘图形库——cutecharts

  爬虫实战|摩尔庄园微博话题讨论

  一季度财报出炉,哪些公司最烧钱?

  一季度财报出炉,哪些公司最赚钱?

关于我们 


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



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

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




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

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