df.to_excel(writer, sheet_name='Sheet1', index=False),如果在原文件上进行保存
时间: 2024-03-17 12:39:48 浏览: 46
如果你要在原文件上进行保存,而不是创建一个新的 Excel 文件写入器,可以直接将 Excel 文件的路径传递给 `to_excel()` 方法,例如:
```python
# 将 DataFrame 写入指定的 sheet 中
df.to_excel('example.xlsx', sheet_name='Sheet1', index=False)
```
这样,Pandas 会自动使用 `openpyxl` 引擎来打开 Excel 文件,并将修改后的数据写回到指定的 sheet 中,同时不会影响其他的 sheet。但是需要注意,如果你在写入 Excel 文件时使用了其他的库或者工具,可能会出现冲突或者不兼容的情况,因此建议在写入 Excel 文件之前备份原文件,以防止数据的丢失或者损坏。
相关问题
指定删除sheet中空白列后原文件保存,不改变其他sheet
要指定删除 sheet 中的空白列并在原文件上进行保存,可以按照以下步骤进行操作:
1. 读取 Excel 文件到 Pandas 中,并指定要读取的 sheet 名称,例如:
```python
import pandas as pd
# 读取 Excel 文件并指定要读取的 sheet 名称
sheet_name = 'Sheet1'
df = pd.read_excel('example.xlsx', sheet_name=sheet_name)
```
2. 删除 DataFrame 中的空白列,例如:
```python
# 删除空白列
df = df.dropna(axis='columns', how='all')
```
这里的 `axis='columns'` 表示按列删除,`how='all'` 表示只删除全是 NaN 的列。
3. 使用 Pandas 的 `ExcelWriter()` 类创建一个新的 Excel 文件写入器,并指定要写入的文件路径,例如:
```python
# 创建 ExcelWriter 对象
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')
```
4. 使用 `to_excel()` 方法将修改后的 DataFrame 写回到原文件中指定的 sheet 中,例如:
```python
# 将 DataFrame 写回到原文件中指定的 sheet 中
df.to_excel(writer, sheet_name=sheet_name, index=False)
```
5. 调用 ExcelWriter 对象的 `save()` 方法保存修改后的 Excel 文件,例如:
```python
# 保存修改后的 Excel 文件
writer.save()
```
这样就完成了在 Pandas 中删除指定 sheet 中的空白列,并将修改后的结果写回到原文件中的操作,同时不会影响其他的 sheet。
删除多个sheet中的空白列,并原文件保存
要删除多个 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。
阅读全文