本文目录导读:

我来为你介绍几个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是最便捷的选择。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播