当前位置: 首页 > news >正文

python 办公自动化------ excel文件的操作,读取、写入

一、excel文件的读取

需要安装的包:xlrd:读取;xlwt:写入;xlutils:分割、复制、筛选

sudo:表示以管理员身份运行命令(mac系统中使用)

>sudo pip install xlrd xlwt xlutils

示例文件: 

例1:读取sheet页的数量:

import xlrd

wb = xlrd.open_workbook('./dataFile/testxls.xls')

# sheet的数量
print('sheet 数量:', wb.nsheets)

运行结果:

C:\stq\study\pythonProject\venv\Scripts\python.exe C:\stq\study\pythonProject\excel_read.py 
sheet 数量: 3

进程已结束,退出代码为 0

例2:读取sheet的名称

方法一:读取excel的所有sheet名称

wb = xlrd.open_workbook('./dataFile/testxls.xls')
print("sheets 名称:", wb.sheet_names())

运行结果:

C:\stq\study\pythonProject\venv\Scripts\python.exe C:\stq\study\pythonProject\excel_read.py 
sheets 名称: ['Sheet1', 'Sheet2', 'Sheet3']

进程已结束,退出代码为 0

方法二:读取sheet名称

# 根据索引获取sheet名称
sh = wb.sheet_by_index(1)
print(sh.name)
# 根据名称获取
sh = wb.sheet_by_name('一班成绩')
print(sh.name)

运行结果:

C:\stq\study\pythonProject\venv\Scripts\python.exe C:\stq\study\pythonProject\excel_read.py 
二班成绩
一班成绩

进程已结束,退出代码为 0

例3:读取表格中的内容

方法一:读取指定表格中指定行、指定列的内容

import xlrd

wb = xlrd.open_workbook("./dataFile/testxls.xls")
sh = wb.sheet_by_index(0)

print("sheet %s 有%s行,有%s列" % (sh.name, sh.nrows, sh.ncols))
# 打印第一行的内容
print("第一行的内容为", sh.row_values(0))
# 打印第二列的内容
print("第二列的内容为", sh.col_values(1))

运行结果:

C:\stq\study\pythonProject\venv\Scripts\python.exe C:\stq\study\pythonProject\excel_read.py 
sheet 一班成绩 有5行,有5列
第一行的内容为 ['姓名', '语文', '数学', '语文', '英语']
第二列的内容为 ['语文', 89.0, 88.0, 96.0, 97.0]

进程已结束,退出代码为 0

方法二:读取指定表格中的内容

# 读取单元格操作
print('第2行第3列的内容为:', sh.cell(1,2))

运行结果:

C:\stq\study\pythonProject\venv\Scripts\python.exe C:\stq\study\pythonProject\excel_read.py 
第2行第3列的内容为: number:80.0

进程已结束,退出代码为 0

二、excel文件的写入

方法一:写入sheet页名称

import xlwt

# 创建Workbook对象
wb = xlwt.Workbook()

# 添加sheet页
sh = wb.add_sheet('四班成绩')
sh = wb.add_sheet('五班成绩')
# 保存xls文件
wb.save('./dataFile/test_write.xls')

运行结果:

例1:在sheet页中指定单元格添加内容

方法一:

import xlwt

# 创建Workbook对象
wb = xlwt.Workbook()

# 添加sheet页
sh = wb.add_sheet("一班成绩")

# 向表格的指定行指定列中添加内容
sh.write(0, 0, "姓名")
sh.write(0, 1, "一班")
sh.write(0, 2, "二班")
# # 保存xls文件
wb.save("./dataFile/test_write.xls")

运行结果:

方法二:循环在指定行的第几列中插入值

import xlwt

# 创建Workbook对象
wb = xlwt.Workbook()

# excel表格形式展示1-10的平方
sh = wb.add_sheet("平方值", cell_overwrite_ok=True)
sh.write(0, 0, "数字")
sh.write(0, 1, "平方值")

# 1-9的9次循环
for i in range(1, 10):
    # 第i行的第1列输入i
    sh.row(i).write(0, i)
    # 第i行的第2列输入i*i的值
    sh.row(i).write(1, i * i)
wb.save("./dataFile/test_write.xls")

运行结果:

相关文章:

  • 大模型上下文协议MCP详解(2)—核心功能
  • 2025最新版Nodejs安装及环境配置教程
  • 如何使用 Spring Boot 实现分页和排序?
  • qwen-vl 实现OCR的测试
  • 《AI大模型应知应会100篇》第10篇:大模型的涌现能力:为什么规模如此重要
  • Python数据分析-NumPy模块-查看数组属性
  • STM32 模块化开发实战指南:系列介绍
  • 贪心算法-跳跃游戏
  • Windows环境下 全屏显示某个字符串
  • css易混淆的知识点
  • 开发遇到的问题-编译报错
  • 分布式锁和事务注解结合使用
  • 第Y1周:调用YOLOv5官方权重进行检测
  • Python函数的说明文档的访问方式
  • 人工智能的经济盲点及AI拓展
  • 火山RTC 4 音视频引擎 IRTCVideo,及 音视频引擎事件回调接口 IRTCVideoEventHandler
  • 数据结构基础(2)
  • ubuntu 服务器版本常见问题
  • Node.js多版本共存管理工具NVM(最新版本)详细使用教程(附安装包教程)
  • 重返JAVA之路-初识JAVA
  • 中英文外贸网站源码/360收录入口
  • 网上做网站怎么赚钱吗/数据分析软件
  • 无锡哪家公司做网站/竞价推广代运营公司
  • 自己做动漫头像的网站/抖音搜索引擎推广
  • 网站开发项目合同书/怎么做公司网站
  • 泰安做网站哪家好/现在做网络推广好做吗