删除多个sheet中的空白列,并原文件保存
时间: 2024-03-17 15:40:02 浏览: 145
要删除多个 sheet 中的空白列并在原文件上进行保存,可以按照以下步骤进行操作:
1. 读取 Excel 文件到 Pandas 中,并指定要读取的 sheet 名称列表,例如:
```python
import pandas as pd
# 读取 Excel 文件并指定要读取的 sheet 名称列表
sheet_names = ['Sheet1', 'Sheet2', 'Sheet3']
sheets_dict = pd.read_excel('example.xlsx', sheet_name=sheet_names)
```
这里使用了 Pandas 的 `read_excel()` 函数,但是将要读取的 sheet 名称列表作为参数传递进去,这样就可以一次性读取多个 sheet 的数据。
2. 针对每个 sheet,删除 DataFrame 中的空白列,例如:
```python
# 针对每个 sheet,删除空白列
for sheet_name, sheet_df in sheets_dict.items():
sheets_dict[sheet_name] = sheet_df.dropna(axis='columns', how='all')
```
这里使用了 `items()` 方法遍历 `sheets_dict` 字典中的所有 sheet,然后针对每个 sheet 删除 DataFrame 中的空白列,并将修改后的 DataFrame 保存回 `sheets_dict` 字典中。
3. 使用 Pandas 的 `ExcelWriter()` 类创建一个新的 Excel 文件写入器,并指定要写入的文件路径,例如:
```python
# 创建 ExcelWriter 对象
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')
```
4. 针对每个 sheet,使用 `to_excel()` 方法将修改后的 DataFrame 写回到原文件中指定的 sheet 中,例如:
```python
# 针对每个 sheet,将 DataFrame 写回到原文件中指定的 sheet 中
for sheet_name, sheet_df in sheets_dict.items():
sheet_df.to_excel(writer, sheet_name=sheet_name, index=False)
```
这里使用了 `items()` 方法遍历 `sheets_dict` 字典中的所有 sheet,然后针对每个 sheet 使用 `to_excel()` 方法将修改后的 DataFrame 写回到原文件中指定的 sheet 中。
5. 调用 ExcelWriter 对象的 `save()` 方法保存修改后的 Excel 文件,例如:
```python
# 保存修改后的 Excel 文件
writer.save()
```
这样就完成了在 Pandas 中删除多个 sheet 中的空白列,并将修改后的结果写回到原文件中的操作,同时不会影响其他的 sheet。
阅读全文