好消息,爬蟲俱樂部又出新命令了! 去年,李春濤教授帶領(lǐng)爬蟲俱樂部的成員連續(xù)發(fā)布了chinagcode、chinaaddress、cnintraday、subinfile、cnstock等等實(shí)用的命令,實(shí)現(xiàn)了中文地址與經(jīng)緯度之間的轉(zhuǎn)換、股票分時(shí)交易數(shù)據(jù)的抓取、文本文件的修改、股票代碼的獲取等等功能,并對(duì)以前發(fā)布的cntrade和chinafin命令做了修改,讓這些命令可以在Stata14以及更高版本的環(huán)境下運(yùn)行。如今,爬蟲俱樂部又憋了一個(gè)大招,李春濤教授和爬蟲俱樂部成員薛原編寫了一個(gè)新的命令——wordconvert。這個(gè)命令通過調(diào)用PowerShell和MS Word實(shí)現(xiàn)了rtf、doc、docx、dot、pdf、xps等文件相互轉(zhuǎn)換(pdf和xps目前只能被其他文件轉(zhuǎn)成,不能轉(zhuǎn)成其他文件)。 要使用這個(gè)命令,首先要保證電腦里面裝有Microsoft Word2007或更高的版本。此外,還需要配置PowerShell。包括如下兩點(diǎn): 1、參考之前的推文《朝花夕拾 | 如何解決PowerShell禁止腳本運(yùn)行的問題?》,將PowerShell的ExecutionPolicy設(shè)置為RemoteSigned,具體方法推文中介紹很詳細(xì)了。 2、將PowerShell所在的路徑添加到環(huán)境變量中。找到PowerShell所在的路徑,例如筆者電腦上的PowerShell路徑是“C:\Windows\System32\WindowsPowerShell\v1.0”。右擊我的電腦,點(diǎn)擊屬性,在最左端選擇高級(jí)系統(tǒng)設(shè)置。 在彈出的系統(tǒng)屬性中點(diǎn)擊環(huán)境變量。 雙擊彈出窗口的中系統(tǒng)變量下面的Path,在彈出來的編輯環(huán)境變量窗口中,把PowerShell的路徑加到最后。 如果用的不是Windows10系統(tǒng)的話,這里添加路徑會(huì)有所區(qū)別,需要在彈出的窗口中把路徑加在變量值的后面,中間用分號(hào)分隔開。 完成了以上的配置工作后就可以開始使用wordconvert命令了。在help文件中,我們給出的例子是從我們的網(wǎng)站上下載rtf和docx文件,并實(shí)現(xiàn)轉(zhuǎn)換。很簡(jiǎn)單,大家可以根據(jù)help文件自己操作。我們這里不使用help文件里的例子,我們用rtf命令配合esttab命令生成一個(gè)rtf文件,并用wordconvert命令對(duì)這個(gè)rtf文件進(jìn)行操作。 例子 clear all cap mkdir E:\測(cè)試wordconvert cd E:\測(cè)試wordconvert sysuse auto, clear tempname handle rtfopen `handle' using 測(cè)試wordconvert.rtf, replace file write `handle' `'{\pard\b `=ustrto('描述性統(tǒng)計(jì)', 'gb2312', 1)' \par}'' rtfclose `handle' estpost summarize price mpg rep78 weight length, d esttab using 測(cè)試wordconvert.rtf, cells('count mean(fmt(3)) sd(fmt(3)) min(fmt(3)) max(fmt(3))') noobs append compress rtfappend `handle' using 測(cè)試wordconvert.rtf, replace file write `handle' '\page' file write `handle' `'{\pard\b `=ustrto('回歸結(jié)果', 'gb2312', 1)' \par}'' rtfclose `handle' reg price mpg weight rep78 est store m1 reg price mpg length weight est store m2 esttab m1 m2 using 測(cè)試wordconvert.rtf, append star( * 0.10 ** 0.05 *** 0.01 ) ar2 nogaps 在我們生成的rtf文件里面就是兩個(gè)表。 現(xiàn)在,我們可以用wordconvert把這個(gè)文件轉(zhuǎn)成其他格式,可以轉(zhuǎn)換成doc、docx、dot、pdf和xps。這里要注意一點(diǎn),由于PowerShell默認(rèn)識(shí)別的編碼是ASCII,在使用Stata14以及更高版本時(shí),由于使用的編碼是utf8,所以當(dāng)路徑和文件名稱出現(xiàn)中文時(shí),需要用encoding選項(xiàng)設(shè)置對(duì)應(yīng)的編碼,簡(jiǎn)體中文設(shè)置為gb2312即可。 wordconvert '測(cè)試wordconvert.rtf' '測(cè)試wordconvert.doc', encoding(gb2312) replace wordconvert '測(cè)試wordconvert.rtf' '測(cè)試wordconvert.docx', encoding(gb2312) replace wordconvert 測(cè)試wordconvert.rtf 測(cè)試wordconvert.dot, encoding(gb2312) replace wordconvert 測(cè)試wordconvert.rtf 測(cè)試wordconvert.pdf, encoding(gb2312) replace wordconvert 測(cè)試wordconvert.rtf 測(cè)試wordconvert.xps, encoding(gb2312) replace 這幾個(gè)文件就已經(jīng)轉(zhuǎn)換好了。使用這個(gè)命令與Stata15新推出的命令putdocx還能碰撞出什么樣的火花呢?我們會(huì)在今后的推文中繼續(xù)介紹。 目前,我們團(tuán)隊(duì)還在積蓄能量憋大招,會(huì)繼續(xù)發(fā)布新的命令。以前已經(jīng)發(fā)布的命令,經(jīng)過一些Stata愛好者反饋的意見,也將進(jìn)行更新,請(qǐng)大家關(guān)注我們的推送。 以上就是今天給大家分享的內(nèi)容了,說得好就賞個(gè)銅板唄!有錢的捧個(gè)錢場(chǎng),有人的捧個(gè)人場(chǎng)~。 應(yīng)廣大粉絲要求,爬蟲俱樂部的推文公眾號(hào)打賞功能可以開發(fā)票啦,累計(jì)打賞超過1000元我們即可給您開具發(fā)票,發(fā)票類別為“咨詢費(fèi)”。用心做事,只為做您更貼心的小爬蟲。第一批發(fā)票已經(jīng)寄到各位小主的手中,大家快來給小爬蟲打賞呀~ 文字編輯:徐苾雯 技術(shù)總編:劉貝貝 |
|