批量汇总整合Excel表格(Mac、Linux)

字数 340阅读 31

前言

最近在当学生助管,有一个任务是把一堆excel汇总表合并到一起。
就很麻烦,试图找一个比较方便的方法。

自己发现的方法有

  1. 用Excel执行的那个代码,写一个程序,运行。比如这个百度经验的方法。
  2. 用Mac自带的扛炮机器人Automation,写AppleScript,但是也要写代码。没找到特别现成的。
  3. shell直接cat就能合并csv格式的表格

这里介绍的是第三种

但是xls文件不像csv那样是文本式的,直接合并不行,需要转换。
这可以用linux的unoconv来轻松搞定。

配置

Mac端:
需要Homebrew
终端用brew安装unoconv

brew install unoconv

然后安装LibreOffice:LibreOffice下载
Linux端:
啥也不用做(`・ω・´)
没有openOffice的要装
Win端:
应该也可以。好像可以用PowerShell什么。反正这些应该是跨平台的,就是麻烦点?(自己不知道)

开始

先进行转换,打开终端

cd ./要合并的那一坨文件所在的文件夹

unoconv -f csv *.xlsx
# 这里看情况改动,-f就是要改成的格式

合并

cat *.csv > result.csv

再转换

unoconv -f xlsx result.csv

然后可以打开excel,把里面的重复行删了。
大概是这样子。自己凭着记忆写的。

拓展

sed -n '1!p' *.csv | result.csv

使用sed去除表头。
更多拓展可配合awk实现。

推荐阅读更多精彩内容

  • 博客工具 hexo 办公套件 LibreOffice LibreOffice是OpenOffice的一个分支,但功...
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
  • 今天是什么日子 任务清单 周目标·完成进度 学习·信息·阅读 健康·饮食·锻炼 人际·家人·朋友 工作·思考 更应...
  • 2010年9月,带着128斤左右的皮囊,从山东来到了湘西吉首大学,却一不小心吃成了胖子,大二结束的时候,体重达到了...
  • 感恩燕玲請我吃他自己做的 天貝披薩,天貝是他自己所釀製的,感恩讚歎他的好手藝,感恩喝到蒲公英咖啡,感恩認識許多香料...