我正在做一些使用python-excel模块的测试。我似乎无法找到一种方法来删除使用这些模块的Excel表中的一行,而互联网并未提供解决方案。有没有办法使用其中一个python-excel模块删除一行?删除excel行xlwt,python
在我的情况下,我想打开一个excel表格,如果第一行读取,请确定它是否包含一些有效数据,如果没有,则删除它。
欢迎任何建议。
Mike
我正在做一些使用python-excel模块的测试。我似乎无法找到一种方法来删除使用这些模块的Excel表中的一行,而互联网并未提供解决方案。有没有办法使用其中一个python-excel模块删除一行?删除excel行xlwt,python
在我的情况下,我想打开一个excel表格,如果第一行读取,请确定它是否包含一些有效数据,如果没有,则删除它。
欢迎任何建议。
Mike
xlwt提供了模块名称暗示的Excel编写器(创建而非修改)funcionality。另一方面,xlrd提供了Excel阅读器的功能。
如果源Excel文件相当简单(没有花哨的图形,数据透视表等),你应该继续这样:
与xlrd模块读取目标excel文件的内容,然后用xlwt模块创建新的excel文件,其中包含必要的行。
如果你在windows平台上运行这个工具,你可能会直接通过Microsoft COM对象see old book reference来操纵Excel。
我有同样的问题,但发现周围散步:
使用自定义过滤器进程(阅读器>过滤器1>过滤器2> ...>作家)生成源副本excel文件但在前面插入一个空白列。我们称之为augmented.xls。
然后,使用xlrd.open_workbook()将augmented.x.xls读入xlrd.Workbook对象rb
。
使用xlutils.copy.copy()将rb
转换为xlwt.Workbook对象wb
。
在wb
中将每个待删除行的第一列的值设置为“x”(或其他值作为标记)。
保存wb
返回augmented.xls。
使用另一个定制滤波处理由在第一列中省略的那些行用“x”和移位的所有列左边一列,以生成从augmented.xls所得excel文件(相当于删除标记的第一列)。
信息和定义过滤器处理的例子可以在http://www.simplistix.co.uk/presentations/python-excel.pdf
希望这有助于以某种方式被发现。
Thansk的建议jbreicis! – Mike 2012-04-26 19:24:49
@Mike欢迎您 – jbreicis 2012-04-26 19:34:11