当前位置: 代码网 > it编程>前端脚本>Python > 在python中读写xlsx文件的实现方式

在python中读写xlsx文件的实现方式

2025年07月29日 Python 我要评论
读写xlsx文件的方法python中可以使用openpyxl或pandas库来读写xlsx文件。以下是两种方法的详细说明:使用openpyxl库安装openpyxl:pip install openp

读写xlsx文件的方法

python中可以使用openpyxlpandas库来读写xlsx文件。

以下是两种方法的详细说明:

使用openpyxl库

  • 安装openpyxl:
pip install openpyxl
  • 写入xlsx文件:
from openpyxl import workbook

# 创建工作簿
wb = workbook()
ws = wb.active

# 写入数据
ws['a1'] = "姓名"
ws['b1'] = "年龄"
ws['a2'] = "张三"
ws['b2'] = 25

# 保存文件
wb.save("example.xlsx")
  • 读取xlsx文件:
from openpyxl import load_workbook

# 加载工作簿
wb = load_workbook("example.xlsx")
ws = wb.active

# 读取数据
for row in ws.iter_rows(values_only=true):
    print(row)

使用pandas库

  • 安装pandas:
pip install pandas openpyxl
  • 写入xlsx文件:
import pandas as pd

# 创建dataframe
data = {'姓名': ['张三', '李四'], '年龄': [25, 30]}
df = pd.dataframe(data)

# 写入文件
df.to_excel("example.xlsx", index=false)
  • 读取xlsx文件:
import pandas as pd

# 读取文件
df = pd.read_excel("example.xlsx")
print(df)

处理大型xlsx文件

对于大型xlsx文件,可以使用openpyxlread_only模式或pandaschunksize参数:

  • 使用openpyxl读取大型文件:
from openpyxl import load_workbook

# 以只读模式加载
wb = load_workbook("large_file.xlsx", read_only=true)
ws = wb.active

# 逐行读取
for row in ws.iter_rows(values_only=true):
    print(row)
  • 使用pandas分块读取:
import pandas as pd

# 分块读取
chunk_size = 1000
for chunk in pd.read_excel("large_file.xlsx", chunksize=chunk_size):
    print(chunk)

格式化单元格

  • 使用openpyxl格式化单元格:
from openpyxl.styles import font, alignment

wb = workbook()
ws = wb.active

# 设置字体和对齐
ws['a1'].font = font(bold=true)
ws['a1'].alignment = alignment(horizontal="center")

wb.save("formatted.xlsx")

处理多个工作表

  • 读写多个工作表:
from openpyxl import workbook

wb = workbook()

# 创建工作表
ws1 = wb.create_sheet("sheet1")
ws2 = wb.create_sheet("sheet2")

# 写入不同工作表
ws1['a1'] = "sheet1数据"
ws2['a1'] = "sheet2数据"

wb.save("multi_sheet.xlsx")
  • 读取特定工作表:
from openpyxl import load_workbook

wb = load_workbook("multi_sheet.xlsx")
ws = wb["sheet2"]  # 获取指定工作表
print(ws['a1'].value)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com