Tips: all for hands-free.
Tips 系列:记录日常解决问题、解放双手的一些小技巧。
目的只有一个:不被重复的琐事麻痹,能偷懒的绝不手软。
今天展示的是Mac上如何批量将Word(.doc)表格转换为Excel。
先上效果图:
第一次选择目录后需要点击授权目录权限。
Word另存运行过程在后台,动图上没显示出来,实际Word窗口会一次次打开-另存-关闭。
为什么会有这个东西?
因为笔者维护的一个课表小程序,它的课表数据源都是.doc格式的。。。
当然这不是本文的重点,重点是如何自动化处理类似问题。
当时查阅网上资料,也没找到doc转换到xlsx轮子。
不过,docx或者html倒是可以利用python
的pandas库转换成xlsx。
所以只要解决 doc -> docx/html 转换就好了。
Word倒是有 另存为 功能,利用Mac的AppleScript
可以实现自动调用另存。
下面以转换docx为例,简单看下代码实现。
AppleScript实现doc另存docx
AppleScript 语法很是表意,选择文件是 choose file
,
调用应用是 tell application "Microsoft Word"
,
剩下AppleScript基本可以实现mac的所有常见操作,用到的直接查文档,
而且脚本编辑器页面 ⌘⇧O
可以打开AppleScript字典,方便查看应用的属性集合
右键也有一些代码片段可用,更厉害的还可以录制操作,会自动转为代码。
还有一点要注意:finder文件对象地址非POSIX
格式(我们常见的/Users/xxx
)
是Macintosh HD:Users:xxx
这种形式, 使用脚本时需要注意转换。
调试变量可以是对话框:
display dialog (path to me as text)
, 有没有网页开发的感觉。
pandas处理docx转换xlsx
转换Excel提供了两种示例:
- docx2xlsx是批量将Word一个个转为对应Excel
- html2xlsx是将所有html表格合并到同一个Excel中不同sheet
总结一下,使用Mac的话,AppleScript用好了,好多操作都可以实现自动化,还是很有必要了解下的。
附上详细文档:
如有疑问,请文末留言交流或邮件:newbvirgil@gmail.com 本文链接 : https://newbmiao.github.io/2020/02/15/tips-convert-doc-table-to-excel.html