用python删除excel中不同sheet中和列名相同的行,其中第二个sheet第一行需要清洗掉,最后并加载进新excel中
时间: 2023-08-20 20:07:30 浏览: 108
好的,这里是删除 Excel 中不同 sheet 中和列名相同的行并加载进新 Excel 的 Python 代码。和删除不同表中和列名相同的行的情况类似,我们需要使用 pandas 库和 openpyxl 库。
```python
import pandas as pd
from openpyxl import Workbook
# 读取 Excel 文件
file = pd.ExcelFile("input.xlsx")
# 删除不同 sheet 中和列名相同的行
df_list = []
for sheet_name in file.sheet_names:
df = pd.read_excel(file, sheet_name)
df = df.drop_duplicates()
if sheet_name == file.sheet_names[1]:
df = df.iloc[1:]
df_list.append(df)
# 合并多个表格
result = pd.concat(df_list)
# 加载进新 Excel 文件
with pd.ExcelWriter("output.xlsx") as writer:
result.to_excel(writer, sheet_name="Sheet1", index=False)
```
以上代码的主要流程如下:
1. 使用 `pd.ExcelFile` 函数读取 Excel 文件。
2. 遍历每个 sheet,使用 `pd.read_excel` 函数读取 sheet 中的数据,并使用 `drop_duplicates` 函数删除重复行。如果当前 sheet 是第二个 sheet,使用 `iloc` 函数删除第一行。
3. 使用 `pd.concat` 函数将多个 DataFrame 合并。
4. 使用 `pd.ExcelWriter` 创建一个新的 Excel 文件,使用 `to_excel` 函数将合并后的 DataFrame 写入到该文件中。
需要注意的是,如果你的 Excel 文件很大,以上代码可能会比较慢。你可以尝试使用 `chunksize` 参数对大文件进行分块读取,或者考虑使用其它库来处理 Excel 文件。
阅读全文