Python操作Excel需根据文件格式和需求选择库:读写.xlsx用openpyxl,读.xls用xlrd,写.xls用xlwt,复杂数据处理用pandas;大型文件建议openpyxl流式读写;日期处理需转换数字为datetime对象;格式设置可通过openpyxl的styles模块实现。

Python操作Excel表格,核心在于使用合适的库来读取、写入和修改Excel文件。常用的库包括
openpyxl
xlrd
xlwt
pandas
解决方案
根据操作的复杂度和Excel文件的格式(.xls或.xlsx),选择合适的库。以下是几种常见的操作和对应的库:
读取Excel文件(.xlsx):
openpyxl
立即学习“Python免费学习笔记(深入)”;
from openpyxl import load_workbook
# 加载Excel文件
workbook = load_workbook(filename="example.xlsx")
# 选择工作表
sheet = workbook["Sheet1"] # 通过名称选择
# sheet = workbook.active # 选择第一个工作表
# 读取单元格数据
cell_value = sheet["A1"].value
print(cell_value)
# 遍历所有行
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, min_col=1, max_col=sheet.max_column):
for cell in row:
print(cell.value)写入Excel文件(.xlsx): 同样使用
openpyxl
from openpyxl import Workbook # 创建一个新的工作簿 workbook = Workbook() # 选择工作表 sheet = workbook.active # 写入数据 sheet["A1"] = "Hello" sheet["B1"] = "World" # 保存Excel文件 workbook.save(filename="output.xlsx")
读取Excel文件(.xls): 使用
xlrd
import xlrd
# 打开Excel文件
workbook = xlrd.open_workbook("example.xls")
# 选择工作表
sheet = workbook.sheet_by_name("Sheet1") # 通过名称选择
# sheet = workbook.sheet_by_index(0) # 通过索引选择
# 读取单元格数据
cell_value = sheet.cell_value(0, 0) # 行,列 (从0开始)
print(cell_value)
# 遍历所有行
for row_index in range(sheet.nrows):
for col_index in range(sheet.ncols):
print(sheet.cell_value(row_index, col_index))写入Excel文件(.xls): 使用
xlwt
import xlwt
# 创建一个新的工作簿
workbook = xlwt.Workbook()
# 添加一个工作表
sheet = workbook.add_sheet("Sheet1")
# 写入数据
sheet.write(0, 0, "Hello") # 行,列,值
sheet.write(0, 1, "World")
# 保存Excel文件
workbook.save("output.xls")使用Pandas进行更复杂的操作: Pandas提供了DataFrame结构,可以方便地进行数据处理和分析,然后导出到Excel。
import pandas as pd
# 从Excel读取数据
df = pd.read_excel("example.xlsx", sheet_name="Sheet1")
# 数据处理 (例如: 添加一列)
df["New_Column"] = df["Column1"] * 2
# 写入Excel文件
df.to_excel("output.xlsx", sheet_name="Sheet1", index=False) # index=False 不写入索引如何选择合适的库?
openpyxl
.xlsx
xlrd/xlwt
.xls
pandas
如何处理大型Excel文件?
对于非常大的Excel文件,一次性加载到内存可能会导致性能问题。
openpyxl
from openpyxl import load_workbook
# 流式读取
workbook = load_workbook(filename="large_file.xlsx", read_only=True)
sheet = workbook.active
for row in sheet.rows:
for cell in row:
print(cell.value)如何处理Excel中的日期和时间?
Excel中的日期和时间通常以数字形式存储。在使用
xlrd
openpyxl
import xlrd
from datetime import datetime
workbook = xlrd.open_workbook("example.xls")
sheet = workbook.sheet_by_index(0)
date_value = sheet.cell_value(1, 2) # 假设日期在第二行第三列
date_object = xlrd.xldate_as_datetime(date_value, workbook.datemode)
print(date_object)在使用
openpyxl
datetime
如何设置Excel单元格的格式?
使用
openpyxl
from openpyxl import Workbook
from openpyxl.styles import Font, Color, Alignment
workbook = Workbook()
sheet = workbook.active
# 设置字体
cell = sheet["A1"]
cell.value = "Formatted Text"
cell.font = Font(name="Arial", size=12, bold=True, color="FF0000") # 红色
# 设置对齐方式
cell.alignment = Alignment(horizontal="center", vertical="center")
workbook.save("formatted.xlsx")以上就是python如何操作excel表格_python读写操作Excel表格常用库指南的详细内容,更多请关注php中文网其它相关文章!
全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号