使用Python

时间:2016-01-04 06:12:34

标签: python-2.7 xlrd xlwt xlutils

如何使用Python从现有Excel表格中删除整个空白行?

我需要一个没有的解决方案: 包括阅读整个文件并在没有删除行的情况下重写。

有没有直接的解决方案?

3 个答案:

答案 0 :(得分:2)

我使用Pandas包实现了....

import pandas as pd

#Read from Excel
xl= pd.ExcelFile("test.xls")

#Parsing Excel Sheet to DataFrame
dfs = xl.parse(xl.sheet_names[0])

#Update DataFrame as per requirement
#(Here Removing the row from DataFrame having blank value in "Name" column)

dfs = dfs[dfs['Name'] != '']

#Updating the excel sheet with the updated DataFrame

dfs.to_excel("test.xls",sheet_name='Sheet1',index=False)

答案 1 :(得分:1)

如果使用内存不是问题,您可以使用额外的数据帧来实现此目的。

import pandas as pd

#Read from Excel
xl= pd.ExcelFile("test.xls")

dfs = xl.parse(xl.sheet_names[0])
df1 = dfs[dfs['Sal'] == 1000]
df1 = df1[df1['Message']=="abc"]

ph_no = df1['Number']

print df1

答案 2 :(得分:1)

要删除Excel行,例如第5行,列无关紧要,1:

sh.Cells(5,1).EntireRow.Delete()

删除一系列Excel行,例如第5行到第20行

sh.Range(sh.Cells(5,1),sh.Cells(20,1)).EntireRow.Delete()