如何使用Python从现有Excel表格中删除整个空白行?
我需要一个没有的解决方案: 包括阅读整个文件并在没有删除行的情况下重写。
有没有直接的解决方案?
答案 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()