Archives

Categories

使用 libxlsxwriter 实现将tsv文件转换成xlsx文件: tabtk_xlsx

这篇为tsv-utils系列的一个小工具,目的是将一堆制表符分隔的文本文件转换成Excel文件(xlsx格式,不是xls),转换成 xlsx 后体积会变小不少。

先前使用Python也写了一个版本, 性能不行,就直接使用 C库 libxlsxwriter实现了C版本, 程序见 Github tsv-utils 仓库 。

1 libxlsxwriter 介绍

libxlsxwriter 提供了很简洁的创建Excel文件的函数接口,100% 兼容xlsx, 官方文档 介绍的很详细,有很多实例, 接口都很简单,可以创建各种图形,是自动化生成Excel文档的不二选择。

libxlsxwriter

下面是 libxlsxwriter 的其它语言接口:

2 tabtk_xlsx 命令行接口

tabtk_xlsx 命令行接口如下:

$ tabtk_xlsx
Usage: tabtk_xlsx  <xlsx> <sheet:file_path> [<sheet:file_path>]
version: 0.0.1

接口很简单,变量第一个位置为输入xlsx文件名称, 后面为需要转换的文件列表,格式为 sheet名称:文件路径名称

3 tabtk_xlsx 测试和实例

首先测试下Python版本和C版本性能差异:

对NCBI Taxonomy文件进行转换, 1560796行。

$time  tabtk_xlsx.py  ncbi.map.xlsx  ncbi:ncbi.map
real    2m47.532s
user    2m46.537s
sys     0m0.829s

$time  tabtk_xlsx  ncbi.map.xlsx  ncbi:ncbi.map
real    0m12.577s
user    0m11.980s
sys     0m0.582s

善于使用工具可以节省时间,当然也可以节省金钱。

对16S的不同水平的物种分类进行合并生成 xlsx 文件多个表文件示例:

tabtk_xlsx  taxonomy.xlsx  phylum:phylum.txt order:order.txt  genus:genus.txt species:species.txt

本文材料为 BASE (Biostack Applied bioinformatic SEies ) 课程 Linux Command Line Tools for Life Scientists 材料, 版权归 上海逻捷信息科技有限公司 所有.

Last Upate: 2017-10-12 2:52 PM

Comments are closed.