首页 > 解决方案 > 删除多个工作表上的空值并导出到 excel

问题描述

我正在尝试编写一个代码来删除特定列上多个 Excel 工作表上的空值并导出文件。任何帮助表示赞赏!

下面的代码:

将熊猫导入为 pd

fileName = 'data.xls'
df = pd.ExcelFile(fileName)
arrayOf_SheetNames = df.sheet_names

for sheetName in arrayOf_SheetNames:
   masterdf = pd.read_excel(fileName, sheet_name=sheetName, header=4)
   masterdf = masterdf.dropna(subset=['Column 1', 'Column 2'], inplace=True)

masterdf.to_excel('file_path.xls')

标签: python-3.xpandas

解决方案


您遇到的一个问题是您正在重新定义masterdffor 循环中每张纸的内容。另一个问题是你最后没有用writer.save().

dfs = pd.read_excel('/tmp/Untitled spreadsheet-2.xlsx', sheet_name=None, header=4)
writer = pd.ExcelWriter('/tmp/out.xlsx')
for sheetname, df in dfs.items():                                                                 
    df.dropna(subset=['Column 1', 'Column 2'], inplace=True)
    df.to_excel(writer, sheetname, index=False)
writer.save()          

推荐阅读