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

时间:2009-09-10 05:08:18

标签: python excel excel-2007

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

我已经看过Excel 2007生成的原始XML文件了,而且它非常复杂,所以从头开始编写它看起来并不现实。有没有可用的库?

3 个答案:

答案 0 :(得分:2)

看起来xlwt可能满足您的需求 - 您可以使用Python的标准库csv模块读取每个TSV文件(这些模块可以用制表符分隔,也可以用逗号分隔等,不要担心! - )并使用xlwt(可能通过此cheatsheet ;-)创建一个XLS文件,在其中制作工作表,根据您通过csv读取的数据构建每个工作表等。不确定XLSX与普通XLS的支持,但也许XLS可能就够了......?

答案 1 :(得分:1)

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

在我看来,你的选择是:

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

答案 2 :(得分:1)

请注意,Excel 2007非常乐意阅读“遗留”XLS文件(由Excel 97-2003和xlwt编写的文件)。你需要XLSX文件,因为......?

如果您想在决定每个数据是数字,日期还是某些文本时选择Excel将选择的默认值,请使用pythonwin来驱动Excel 2007.如果数据采用固定布局,例如除了可能的标题行之外,每列都包含一个已知类型的数据,请考虑使用xlwt。

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