Tips-如何批量将Word表格转为Excel

文章目录

  1. 1. AppleScript实现doc另存docx
  2. 2. pandas处理docx转换xlsx

Tips: all for hands-free.

Tips 系列:记录日常解决问题、解放双手的一些小技巧。

目的只有一个:不被重复的琐事麻痹,能偷懒的绝不手软。


今天展示的是Mac上如何批量将Word(.doc)表格转换为Excel。

先上效果图:
批量将Word(.doc)表格转换为Excel

第一次选择目录后需要点击授权目录权限。
Word另存运行过程在后台,动图上没显示出来,实际Word窗口会一次次打开-另存-关闭。


为什么会有这个东西?

因为笔者维护的一个课表小程序,它的课表数据源都是.doc格式的。。。

当然这不是本文的重点,重点是如何自动化处理类似问题。

当时查阅网上资料,也没找到doc转换到xlsx轮子。

不过,docx或者html倒是可以利用pythonpandas库转换成xlsx。

所以只要解决 doc -> docx/html 转换就好了。

Word倒是有 另存为 功能,利用Mac的AppleScript可以实现自动调用另存。

下面以转换docx为例,简单看下代码实现。

AppleScript实现doc另存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

pandas - docx转xlsx

详细代码见NewbMiao/free-hands-tips

转换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