Excel 的定义与核心功能

发布于:2025-06-20 ⋅ 阅读:(24) ⋅ 点赞:(0)

Excel 是 Microsoft 开发的一款电子表格软件,广泛用于数据分析、计算、可视化和数据存储。其核心功能包括:

  • 数据存储:以行和列的形式组织数据,支持 .xlsx(现代格式)和 .xls(旧格式)文件。

  • 公式与函数:内置数学、统计、文本处理等函数(如 SUMVLOOKUPIF)。

  • 图表与可视化:生成柱状图、折线图、饼图等。

  • 数据处理:支持排序、筛选、数据透视表等。

  • 自动化:通过 VBA(Visual Basic for Applications)实现复杂操作自动化。


Python 读取 Excel 文件的常用方法

Python 通过第三方库处理 Excel 文件,主流库如下:

库名 功能 适用场景
pandas 读取/写入 Excel,支持数据清洗和分析 结构化数据处理
openpyxl 读写 .xlsx 文件,支持公式和样式 需要操作 Excel 细节时
xlrd 仅支持读取旧格式 .xls 文件 兼容旧版 Excel 文件
xlsxwriter 仅支持写入 .xlsx 文件 生成复杂格式 Excel 文件

Python 读取 Excel 文件代码示例

1. 使用 pandas 读取 Excel

import pandas as pd

# 读取整个 Excel 文件
file_path = "data.xlsx"
df = pd.read_excel(file_path, engine="openpyxl")  # 默认读取第一个工作表

# 指定读取某个工作表
df = pd.read_excel(file_path, sheet_name="Sheet1", engine="openpyxl")

# 读取所有工作表(返回字典格式)
all_sheets = pd.read_excel(file_path, sheet_name=None, engine="openpyxl")
for sheet_name, data in all_sheets.items():
    print(f"工作表名: {sheet_name}")
    print(data.head())

# 打印数据
print(df.head())  # 查看前5行
print(df.info())  # 查看列名、数据类型和非空值统计

2. 使用 openpyxl 直接读取

from openpyxl import load_workbook

# 加载 Excel 文件
wb = load_workbook("data.xlsx")
sheet = wb.active  # 获取活动工作表

# 遍历所有行(从第一行开始)
for row in sheet.iter_rows(values_only=True):
    print(row)

# 读取特定单元格的值
cell_value = sheet["A1"].value
print(f"A1 单元格的值: {cell_value}")

关键步骤说明

  1. 安装依赖库

    pip install pandas openpyxl xlrd xlsxwriter
  2. 参数说明

    • engine="openpyxl":强制使用 openpyxl 引擎(默认可能尝试 xlrd)。

    • sheet_name:指定工作表名称或索引(如 0 表示第一个工作表)。

    • header=0:默认第一行为列名,若数据无列名需设置 header=None

  3. 常见问题

    • 依赖库缺失:确保安装 openpyxl 或 xlrd

    • 文件路径错误:检查路径是否包含中文或特殊字符(建议使用英文路径)。

    • 数据类型错误:Excel 中的日期或数字可能被自动转换,需手动处理:

      df["日期列"] = pd.to_datetime(df["日期列"])  # 转换日期格式

Excel 文件写入

# 将 DataFrame 保存为 Excel 文件
df.to_excel("output.xlsx", index=False, engine="openpyxl")

总结

  • Excel 的本质:二进制文件(.xls)或基于 XML 的结构化文件(.xlsx)。

  • Python 读取要点

    • 优先使用 pandas 简化数据处理。

    • 旧格式 .xls 需用 xlrd,新格式 .xlsx 需用 openpyxl

    • 注意数据类型和缺失值(如 NaN)的处理。

 


网站公告

今日签到

点亮在社区的每一天
去签到