Python Excel读取案例如何读取表格内容

wen python案例 28

本文目录导读:

Python Excel读取案例如何读取表格内容

  1. 使用 pandas 读取Excel(推荐)
  2. 使用 openpyxl 读取(无需pandas)
  3. 实际应用示例
  4. 安装必要的库
  5. 错误处理示例
  6. 推荐选择

我来为你介绍几个Python读取Excel表格内容的示例。

使用 pandas 读取Excel(推荐)

基础读取

import pandas as pd
# 读取整个工作表
df = pd.read_excel('data.xlsx')
print(df)
# 读取指定工作表
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
print(df)
# 读取多个工作表
dfs = pd.read_excel('data.xlsx', sheet_name=['Sheet1', 'Sheet2'])
print(dfs['Sheet1'])
print(dfs['Sheet2'])

高级读取选项

import pandas as pd
# 读取指定行列范围
df = pd.read_excel('data.xlsx', 
                   sheet_name='Sheet1',
                   header=0,  # 指定表头行索引
                   skiprows=2,  # 跳过前2行
                   usecols='A:C',  # 只读取A到C列
                   nrows=10)  # 只读取前10行
# 处理缺失值和数据类型
df = pd.read_excel('data.xlsx',
                   dtype={'column1': str},  # 指定列数据类型
                   na_values=['NA', 'N/A', '']  # 指定缺失值表示
                   )
# 获取基本统计信息
print(df.info())
print(df.describe())

使用 openpyxl 读取(无需pandas)

from openpyxl import load_workbook
# 打开工作簿
wb = load_workbook('data.xlsx')
# 获取所有工作表名
print(wb.sheetnames)
# 选择工作表
ws = wb['Sheet1']  # 通过名称
# ws = wb.active  # 通过激活状态
# 读取特定单元格
cell_value = ws['A1'].value
print(f"A1单元格的值:{cell_value}")
# 读取某一行
row_data = []
for cell in ws[1]:  # 第1行
    row_data.append(cell.value)
print(f"第1行数据:{row_data}")
# 遍历所有行和列
for row in ws.iter_rows(min_row=1, max_row=ws.max_row, max_col=ws.max_column):
    for cell in row:
        print(f"{cell.coordinate}: {cell.value}")

实际应用示例

案例1:读取表格并处理数据

import pandas as pd
# 假设有一个员工信息表格
df = pd.read_excel('employee.xlsx')
# 数据筛选
senior_employees = df[df['年龄'] > 40]
print("40岁以上员工:")
print(senior_employees)
# 计算统计数据
average_salary = df['工资'].mean()
print(f"平均工资:{average_salary:.2f}")
# 分组统计
dept_count = df.groupby('部门').size()
print("各部门人数:")
print(dept_count)

案例2:读取多个工作表并合并

import pandas as pd
# 读取所有工作表
all_sheets = pd.read_excel('sales_data.xlsx', sheet_name=None)
# 合并所有工作表
combined_data = pd.DataFrame()
for sheet_name, df in all_sheets.items():
    df['来源工作表'] = sheet_name  # 添加标识列
    combined_data = pd.concat([combined_data, df], ignore_index=True)
print(combined_data)

安装必要的库

# 安装pandas
pip install pandas
# 安装openpyxl(通常pandas会自动安装)
pip install openpyxl
# 或者安装完整的数据科学环境
pip install pandas openpyxl xlrd

错误处理示例

import pandas as pd
def read_excel_safe(filename):
    try:
        df = pd.read_excel(filename)
        print("成功读取文件")
        return df
    except FileNotFoundError:
        print(f"错误:文件 '{filename}' 不存在")
    except Exception as e:
        print(f"读取文件时出错:{e}")
    return None
# 使用安全读取函数
data = read_excel_safe('data.xlsx')
if data is not None:
    print(data.head())

推荐选择

  • pandas:处理大规模数据、数据分析时首选
  • openpyxl:需要处理Excel格式细节(如样式、图表等)
  • xlrd:仅支持旧版Excel(.xls)

需要根据你的具体需求选择合适的库,如果只是读取数据进行分析,pandas是最便捷的选择。

抱歉,评论功能暂时关闭!