最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【Tidyverse優(yōu)雅編程】:批量word文檔轉(zhuǎn)Excel,吊打Python可還行?

2022-11-29 15:58 作者:張敬信老師  | 我要投稿

問題來自頭條文章:

www.toutiao.com/article/7170606479974646284/?log_from=5f6d1680db622_1669688728187

他們總說,R 語言處理文本數(shù)據(jù)、自動化辦公不行,是真不行嗎?本篇就來個?吊打 Python?看看。

1 問題描述

  • 有多個 word 文檔:

  • 文檔內(nèi)容:

  • 需求:

批量讀取 word 文檔內(nèi)容,按名目:序號、方名、組成、用法、主治、備注,整理成 Excel 表格,結(jié)果如下:

注:若未包含【組成】【用法】【主治】,則內(nèi)容都?xì)w入備注。

2 解決問題

首先強(qiáng)調(diào):文本數(shù)據(jù)處理,肯定離不開正則表達(dá)式!

  • 加載包

  • 批量讀取 word 文檔

得到的結(jié)果是數(shù)據(jù)框,每個文檔占一行,doc_id?列是文件名,text?列是文檔內(nèi)容,一個文檔內(nèi)容整個是一個字符串。

  • 按藥方切分列

此時,一個藥方占一行了。

  • 解決一個藥方的信息提取,寫成函數(shù)

說明:都是正則表達(dá)式提取,主要用到零寬斷言,根據(jù)兩端標(biāo)志提取中間想要的內(nèi)容。為什么看著這么啰嗦呢?是因?yàn)閿?shù)據(jù)是有陷阱的:不是每個藥方都包含【組成】、【用法】、【主治】,所以右端需要設(shè)置為下一項(xiàng)或結(jié)尾標(biāo)志$。

測試一個看看:

沒問題?。ㄎ也铧c(diǎn)被對不齊給騙了)

  • 循環(huán)迭代,批量解決問題

就是把函數(shù)?f?依次應(yīng)用到數(shù)據(jù)的?text列,結(jié)果按行合并:

  • 寫出到 Excel 文件

結(jié)果就是問題描述中的結(jié)果表(略)。

問題解決!

以上是為了給大家展示中間過程,方便大家理解。拿掉不必要的中間過程,借助管道,完整代碼如下:

附錄

我主張的數(shù)據(jù)編程思維:

我的R語言新書:《R語言編程—基于tidyverse》

電子搶讀版已上線(人郵)異步社區(qū),紙質(zhì)版預(yù)計(jì)12月底上市:

《R語言編程:基于tidyverse》電子搶讀版購買地址:

https://www.epubit.com/bookDetails?id=UB7db2c0db9f537&tabName=%E6%8A%A2%E8%AF%BB%E7%89%88&floorName=%E7%B2%BE%E9%80%89%E7%BA%B8%E4%B9%A6



【Tidyverse優(yōu)雅編程】:批量word文檔轉(zhuǎn)Excel,吊打Python可還行?的評論 (共 條)

使用qq登录你需要登录后才可以评论。
凤台县| 大余县| 邻水| 连州市| 宝鸡市| 云霄县| 宜良县| 高淳县| 新营市| 巫山县| 林西县| 高密市| 浪卡子县| 昭苏县| 鸡泽县| 衡阳市| 庄浪县| 循化| 金寨县| 普定县| 庄浪县| 鄂尔多斯市| 潼南县| 乐至县| 阿克苏市| 南和县| 新昌县| 九江市| 惠安县| 开化县| 柞水县| 全州县| 和平县| 洛扎县| 定边县| 安龙县| 卫辉市| 邳州市| 汾西县| 正定县| 宾川县|