使用 Python 保留 Excel 表头和第一行数据的两种方法

发布于:2024-04-24 ⋅ 阅读:(23) ⋅ 点赞:(0)

在处理 Excel 文件时,有时我们需要保留表格的表头和部分数据,而删除其他无用的行。本文将介绍如何使用 Python 中的 openpyxl 库和 pandas 库来实现这一目标。

方法一:使用 openpyxl 库

步骤:
1、导入必要的库:从 openpyxl 中导入 load_workbook 函数。
2、定义函数 keep_first_two_rows,接受文件路径和工作表名作为参数。
3、加载 Excel 文件,并选择指定的工作表。
4、使用 delete_rows 方法删除第三行之后的所有行。
5、保存修改后的 Excel 文件。

from openpyxl import load_workbook

def keep_first_two_rows(filepath, sheetname):
    # 加载 Excel 文件
    wb = load_workbook(filepath)
    ws = wb[sheetname]

    # 删除第三行之后的所有行
    ws.delete_rows(3, ws.max_row)

    # 保存修改后的 Excel 文件
    wb.save(filepath)

# 指定 Excel 文件路径和工作表名
excel_file_path = "C:\\Users\\Administrator\\Desktop\\销售系数数据同步.xlsx"
sheet_name = "商品费用"
sheet_name2 = "订单列表"

# 调用函数保留表头和第一行数据
keep_first_two_rows(excel_file_path, sheet_name)
keep_first_two_rows(excel_file_path, sheet_name2)

方法二:使用 pandas 库

步骤:
1、导入必要的库:从 pandas 中导入 read_excel 和 to_excel 函数。
2、定义函数 keep_first_two_rows,接受文件路径和工作表名作为参数。
3、使用 read_excel 读取 Excel 文件,并选择指定的工作表。
4、使用 head 方法保留表头和第一行数据。
5、将结果写回原始 Excel 文件。

import pandas as pd

def keep_first_two_rows(filepath, sheetname):
    # 读取 Excel 文件
    df = pd.read_excel(filepath, sheet_name=sheetname)

    # 保留表头和第一行数据
    df = df.head(2)

    # 将结果写回 Excel 文件
    df.to_excel(filepath, sheet_name=sheetname, index=False)


# 指定 Excel 文件路径和工作表名
excel_file_path = "C:\\Users\\Administrator\\Desktop\\销售系数数据同步.xlsx"
sheet_name = "商品费用"

# 调用函数保留表头和第一行数据
keep_first_two_rows(excel_file_path, sheet_name)

区别:使用 openpyxl 库可以保留原有的Excel公式。