使用 Python 删除现有 Excel Sheet 中的整个空白行

Deleting Entire blank row in an existing Excel Sheet using Python

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

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

有什么直接的解决方案吗?

我使用 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)

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

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

要删除 Excel 行,假设第 5 行,第 1 列无关紧要:

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

要删除 Excel 行的范围,比如第 5 行到第 20 行

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