【问题标题】:Combine tab-separated value (TSV) files into an Excel 2007 (XLSX) spreadsheet将制表符分隔值 (TSV) 文件合并到 Excel 2007 (XLSX) 电子表格中
【发布时间】:2009-09-11 06:32:47
【问题描述】:

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

我查看了 Excel 2007 生成的原始 XML 文件,它庞大而复杂,因此从头开始编写似乎不太现实。有没有可用的库?

【问题讨论】:

    标签: python excel excel-2007


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      在我看来,您的选择是:

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

      【讨论】:

        【解决方案3】:

        请注意,Excel 2007 将非常乐意读取“旧版”XLS 文件(由 Excel 97-2003 和 xlwt 编写的文件)。您需要 XLSX 文件,因为.....?

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-05-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-20
          • 1970-01-01
          • 2017-05-28
          相关资源
          最近更新 更多