3

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

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

有没有直接的解决方案?

4

3 回答 3

3

我使用 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)
于 2016-01-05T08:49:40.200 回答
2

如果使用内存不是问题,您可以使用额外的数据框来实现这一点。

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
于 2016-01-06T05:48:52.853 回答
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()
于 2017-01-27T15:17:21.043 回答