将制表符分隔值(TSV)文件合并到Excel 2007(XLSX)电子表格中

我需要将多个制表符分隔值(TSV)文件合并到Excel 2007(XLSX)电子表格中,最好使用Python。 将它们组合起来并不需要太多聪明 – 只需将每个TSV文件复制到Excel中的单独表单上就可以了。 当然,当我手动将数据复制粘贴到UI中时,数据需要被拆分成与Excel相同的行和列。

我看了一下Excel 2007生成的原始XML文件,它非常庞大复杂,所以从头开始写起来似乎不太现实。 有没有可用的图书馆?

看起来像xlwt可以满足您的需求 – 您可以阅读每个TSV文件与Python的标准库csv模块(它是否做制表符分隔以及逗号分隔等,不要担心!),并使用xlwt (也许通过这cheatsheet ;-)来创build一个XLS文件,在其中制作工作表,从通过csv等读取的数据构build每个工作表。不知道XLSX与普通的XLS支持,但也许XLS可能是足够的…?

用于直接创buildExcel文件的最佳python模块是xlwt ,但不支持XLSX。

正如我所看到的,你的select是:

  1. 如果你只有“几个”,你可以手工完成。
  2. 使用pythonwin通过COM来控制Excel。 这要求您在安装了Excel 2007的Windows计算机上运行代码。
  3. 使用python对TSV进行一些预处理以生成一个使步骤(1)更容易的格式。 我不确定Excel是否读取TSV,但它肯定会直接读取CSV文件。

请注意,Excel 2007将非常高兴地阅读“传统”XLS文件(由Excel 97-2003和xlwt编写)。 你需要XLSX文件,因为…..?

如果您想要使用Excel在决定每条数据是数字,date还是某些文本时将select的默认值,请使用pythonwin来驱动Excel 2007.如果数据的格式不是固定的,一个可能的标题行,每列包含所有已知types的数据,可以考虑使用xlwt。

您可能希望通过http://www.python-excel.org访问 xlwt,其中包含最新的xlrd,xlwt和xlutils教程。