如何使用python读取excel(一)

2023-10-31

在进行操作前,我们先熟悉一下excel表格的基本术语:

  • 工作簿:workbook。包含多个工作表的。
  • 表单:worksheet。指一个工作簿里面的每个表单。
  • 行:row
  • 列:column
  • 单元格:cell

这里我们使用openpyxl读取数据。

查看每个工作簿包含的工作表

import openpyxl

wb = openpyxl.load_workbook('examble.xlsx')

# 从工作簿查看工作表
print(wb.sheetnames)

也可以通过循环的形式打开工作表

import openpyxl

wb = openpyxl.load_workbook('examble.xlsx')

# 从工作簿查看工作表
for sheet in wb:
  print(sheet.title)

假如要想增加工作表,可以通过下面的程序实现

import openpyxl

wb = openpyxl.load_workbook('examble.xlsx')

# 增加表单
Mysheet = wb.create_sheet("保育猪成本")
Mysheet2 = wb.create_sheet("育肥猪成本")

print(wb.sheetnames)

读取某个单元格内容

import openpyxl

wb = openpyxl.load_workbook('examble.xlsx')

ws = wb.active

# 读取表单对象
print(ws['A1'])

# 读取单元格的内容
print(ws['A1'].value)

上面的程序未表示出行列坐标,如果想表示“第X行X列是X”,使用下面方法

import openpyxl

wb = openpyxl.load_workbook('examble.xlsx')

ws = wb.active

c = ws['A1']

# 读取单元格的第一种方法
print('row {} column {} is {}'.format(c.row, c.column, c.value))

# 读取单元格的第一种方法
print(ws.cell(row=1, column=3).value)

# 读取一行多个单元格
for i in range(1,8):
  print(ws.cell(row=i, column=3).value)

遍历某行或者某列的内容

通过下面的程序可以读取工作表中第五列的所有内容

mport openpyxl

wb = openpyxl.load_workbook('examble.xlsx')
ws = wb.get_sheet_by_name("原始数据")

for i in range(5, ws.max_row+1):
    name = ws.cell(row=i, column=5).value

    print(name)

总结:

[1] import openyxl
[2] wb = openpyxl.load_wookbook("文件名")
[3] ws = wb.active or  ws = wb.get_sheet_by_name(sheettitle)
[4] ws = ['A1'] or ws.cell(row=3, column=2)

参考资料

【用Python处理Excel数据,中文全基础系列教程】

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用python读取excel(一) 的相关文章

随机推荐

  • SQL ALTER TABLE 语句

    博客主页 开心档博客主页 欢迎关注 点赞 收藏 留言 本文由开心档原创 51CTO首发时间 2022年12月12日 这世界很喧嚣 做自己就好 作者水平很有限 如果发现错误 一定要及时告知作者哦 感谢感谢 本文介绍 ALTER TABLE 语
  • 分治法求最大子序列和------使用C语言

    分治法求最大子序列和 使用C语言 一 问题提出 二 算法分析 三 程序设计 四 程序结果显示 一 问题提出 给定一个序列 其中可能有正数也可能有负数 找出其中连续的一个子数列 不允许空序列 使它们的和尽可能大 二 算法分析 对于任意一个序列
  • Redis 链表

    redis链表定义 双链表 typedef struct listNode struct listNode prev struct listNode next void value listNode typedef struct list
  • intel c/c++ compiler 下载 安装 编译

    intel c c 编译器在并行 矢量化支持 高性能等方面具有较好性能 但在下载中破费了半天功夫来找它 不敢私藏 没有仔细看intel官网 有几个什么intel composer版本 没认真看和intel compiler的区别 下载 ht
  • 19_2_Training & Deploying TensorFlowModels_%%writefile UsageError_colab_文件名含有空格_No dashboard_gcp

    19 Training and Deploying TensorFlowModels at Scale walk目录 TensorFlow Serving requests REST gRPC Docker Google API Clien
  • 【mcuclub】水质检测模块-TDS

    一 实物图 型号 TDS 二 原理图 编号 名称 功能 1 GND 供电电压负极 2 VCC 供电电压正极 3 AO 模拟信号输出引脚 三 简介 TDS Total Dissolved Solids 中文解释为溶解性总固体 又称总含盐量 定
  • 哈工大操作系统实验3:进程运行轨迹的跟踪与统计

    前言 这个博客鸽了好久了 一来自己在准备数学建模 二来自己还是比较难以控制自己啊 还是会忍不住自己玩手机啊 一定要克制住自己啊 然后说一下这个实验吧 首先还是的对自己痛骂一下为啥么我总是犯一些低级错误 最让我头痛的一个bug竟然是if语句如
  • nfs服务器性能测试,nfs性能测试报告

    测试环境 软件nfs 1000M内网环境 测试说明 所有文件写入均在nfs客户端写入共享的目录中 然后在本地一个单独目录同样写入 比较二者时间及速度 1 大文件写入测试 创建5G的单个文件 Nfs 5000 0 records in 500
  • MATLAB画图练习

    这次画一些在数学建模中比较实用的图 掌握了其中的画图技巧 在比赛时改变一些参数就可以套用了 1 画极坐标图 clc clear clf theta 0 0 01 2 pi r 5 cos 10 theta polar theta r 2 画
  • Leveldb源码分析--13

    8 FilterPolicy Bloom之2 8 5 构建FilterBlock 8 5 1 FilterBlockBuilder 了解了filter机制 现在来看看filter block的构建 这就是类FilterBlockBuilde
  • 推挽电路和开集电路介绍

    推挽输出 Push Pull Output 推挽输出结构是由两个MOS或者三极管收到互补控制的信号控制 两个管子时钟一个在导通 一个在截止 如图1所示 图1 推挽输出结构 推挽输出的最大特点是可以真正能真正的输出高电平和低电平 在两种电平下
  • Jupyter

    jupyter安装conda环境 方法一 cmd进入环境 activate Env 运行 conda install nb conda kernels 方法二 首先安装ipykernel conda install ipykernel 在虚
  • 解决Python代码编码问题 SyntaxError: Non-UTF-8 code starting with '\xc1'

    学习编写Py程序时突然报错 SyntaxError Non UTF 8 code starting with xbb in file C Users v Desktop Test py on line 4 but no encoding d
  • 请求转发和重定向

    请求转发是在一次http请求中完成的 重定向是在多次的http请求中完成的 所以之后的request getParameter 得不到结果 RequestDispatcher是通过调用HttpServletRequest对象的getRequ
  • SeekBar.OnSeekBarChangeListener解析

    public static interface SeekBar OnSeekBarChangeListener android widget SeekBar OnSeekBarChangeListener 概述 当进度改变后用于通知客户端的
  • Qt中ui设计内容改变后,编译运行时新增控件无法显示问题

    解决方法 两种 第一种 在Qt的项目中 有一个Shadow build选项 取消勾选 然后重新编译运行 即可 第二种 不取消勾选Shadow build 在上面的图中可以看到 概要 中有一个 构建目录 复制这个路径 到文件资源管理器中输入这
  • OpenText Exceed TurboX 通过安全远程访问高性能图形化应用程序和桌面保证业务连续性

    OpenText Exceed TurboX 通过安全远程访问高性能图形化应用程序和桌面保证业务连续性 OpenText Exceed TurboX 是一种安全的虚拟桌面解决方案 可实现现代混合工作 利用 Exceed TurboX 混合云
  • 2048游戏C语言代码

    听说2048游戏实现起来很easy 所以今天就试了试 确实不太难 要想编的很成功 也不是太容易 有很多细节需要考虑 下面是我自己设计的代码 估计里面会漏洞百出 希望路过大神能指点一二 include
  • 学习笔记-基数排序

    基数排序 将一个一维数组从大到小排列 基数排序是桶排序的扩展 它是一种稳定的排序方法 也就是说 排序之前相同大小的数字的位置次序在排序后并没有发生改变 同时 基数排序是一种用空间换时间的排序方法 当数据量过大时 java的堆内存耗尽 方法就
  • 如何使用python读取excel(一)

    在进行操作前 我们先熟悉一下excel表格的基本术语 工作簿 workbook 包含多个工作表的 表单 worksheet 指一个工作簿里面的每个表单 行 row 列 column 单元格 cell 这里我们使用openpyxl读取数据 查