【问题标题】:Convert XLSX to XLS and Preserve hidden rows将 XLSX 转换为 XLS 并保留隐藏行
【发布时间】:2018-02-13 20:41:45
【问题描述】:

我正在使用来自Here 的 Python 解决方案将 XLSX 文件转换为 XLS,但这会忽略我已经隐藏的行。有没有办法让它只复制我的源 Xlsx 文件中可见的行?

这是我的代码:

import pyexcel as p
p.save_book_as(file_name='Source.xlsx', dest_file_name='Destination.xls')

【问题讨论】:

  • 投票赞成,因为这是一个真正的 pyexcel 相关问题。

标签: python excel xlsx xls pyexcel


【解决方案1】:

简答

请使用skip_hidden_row_and_column=True,如pyexcel-xlsx test code

p.save_book_as(file_name='Source.xlsx', 
               library='pyexcel-xlsx',  # <--- note 1
               skip_hidden_row_and_column=True,  # <--- note 2
               dest_file_name='Destination.xls')

要获取pyexcel-xlsx,可以使用pip

pip install pyexcel-xlsx

解释/长答案

  1. pyexcel-xls(xlrd) does not support hidden rows for xlsx format 但 xls。这就是为什么注释 1 要求 pyexcel 使用 pyexcel-xlsx 来读取 xlsx 文件。

  2. 这个标志在pyexcel-xlsx README中被注明,True的意思是忽略隐藏的行。

为什么是library?它特定于save_assave_book_asisave_asisave_book_as。在这些功能中,需要一个阅读器和一个作者来完成该功能。 library 告诉 pyexcel 使用特定的库来读取文件,而 dest_library 告诉 pyexcel 写入文件。

这些已记录在案,例如save_as,请在页面中找到library

【讨论】:

  • 我不断收到pyexcel.exceptions.UnknownParameters: Please check if there were typos in function parameters: {'file_name': '&lt;&lt;FILENAME&gt;&gt;'}. Otherwise unrecognized parameters were given.
  • 转载于此。检查它
  • 我很抱歉。我已经更新了上面的代码。我自己对source_librarylibrary 感到困惑。 source_library是数据源库,library是io库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-06
  • 2013-01-25
  • 2015-01-20
  • 2016-03-25
  • 1970-01-01
  • 1970-01-01
  • 2012-01-21
相关资源
最近更新 更多