使用openpyxl实现

只支持xlsx文件,不支持xls

import openpyxl

def read_cell(io, sheet, cell='A2'):
"""
读取单元格
:param io: Excel文件路径
:param sheet: 读取哪一张表,str, int eg: 'Sheet1' or 0
:param cell: 读取哪一个单元格
:return: value --> str
"""
excel = openpyxl.load_workbook(io)
if isinstance(sheet, str):
ws = excel[sheet]
elif isinstance(sheet, int):
name = excel.sheetnames[sheet]
ws = excel[name]
else:
raise TypeError('sheet must be int or str, not %s' % type(sheet))
val = ws[cell].value
if val:
return val
return ''

使用xlrd实现

只支持xls(version > 2.x),既支持xls又支持xlsx(version < 2.x)

import xlrd

def get_index(capital):
"""
大写字母(Excel列头)转数字
:param capital: 'A' --> 0, 'AA' --> 26
:return: int
"""
number = 0
capital = capital.upper()
for char in capital:
number = number * 26 + ord(char) - ord('A') + 1
return number - 1 def read_cell(io, sheet, cell='A1'):
"""
读取单元格
:param io: Excel文件路径
:param sheet: 读取哪一张表,str, int eg: 'Sheet1' or 0
:param cell: 读取哪一个单元格
:return: value --> str
"""
wb = xlrd.open_workbook(io)
if isinstance(sheet, str):
ws = wb.sheet_by_name(sheet)
elif isinstance(sheet, int):
ws = wb.sheet_by_index(sheet)
else:
raise TypeError('sheet must be int or str, not %s' % type(sheet))
pos_col, pos_row = re.findall('[A-Z]+|[0-9]+', cell)
col_index = get_index(pos_col)
value = ws.col_values(col_index, start_rowx=int(pos_row) - 1, end_rowx=int(pos_row))
if value:
return value[0]
return ''

python读取Excel指定单元格的值的更多相关文章

  1. python读取excel中单元格的内容返回的5种类型

    (1) 读取单个sheetname的内容. 此部分转自:https://www.cnblogs.com/xxiong1031/p/7069006.html python读取excel中单元格的内容返回 ...

  2. C#修改 Excel指定单元格的值

    /// <summary> /// 将指定字符串写入指定单元格中 /// </summary> /// <param name="data">要 ...

  3. python接口自动化测试--数据分离读取Excal指定单元格数据

    上一篇博客讲了怎么批量读取Excal单元格数据,现在咱们说一下怎么读取Excal指定单元格数据. 一.首先建一个Test_Main类 #!/usr/bin/python # -*- coding: U ...

  4. vba打开excel文件遍历sheet的名字和指定单元格的值

    今天项目上有个应用,获取指定Excel文件下的所有sheet的名称以及当前sheet中指定单元格的值,并把他们写到固定的sheet中去,看了下,文件比较多,而且每个文件sheet的个数比较多,也不一样 ...

  5. C#实现对EXCEL指定单元格进行操作

    using System; using System.Collections.Generic; using System.Text; using Microsoft.Office.Interop.Ex ...

  6. 使用VBA将Excel指定单元格数据、字符串或者图表对象插入到Word模板指定书签处

    准备工作: 1.首先需要提供一个word模板,并且标记好您要插入书签的位置,定义书签的命名.如图 2.模拟您要插入的Excel原始数据和图表对象 插入代码如下: Private Sub Command ...

  7. Python 实现 Excel 里单元格的读写与清空操作

    #coding=utf-8 # coding=utf-8 作用是声明python代码的文本格式是utf-8,python按照utf-8的方式来读取程序. # 如果不加这个声明,无论代码中还是注释中有中 ...

  8. 读取Excel,单元格内容大于255个字符自动被截取的问题

    DataSet ds = new DataSet(); cl_initPage.v_DeBugLog("ExcelDataSource进入"); string strConn; s ...

  9. 使用net core 6 c# 的 NPOI 包,读取excel..xlsx单元格内的图片,并存储到指定服务器

    这个是记录,单元格的图片. 直接上代码,直接新建一个 net core api 解决方案,引用一下nuget包.本地创建一个 .xlsx 格式的excel文件 using ICSharpCode.Sh ...

  10. Python 用load_workbook 读取excel某个单元格数据、读取excel行数、列数

    from openpyxl import load_workbook path = r'D:\pywork\12' # EXCEL信息所在文件夹 e= load_workbook(path + '/' ...

随机推荐

  1. 从开发属于你自己的第一个 Python 库,做一名真正的程序员「双语版」

    你好,我是悦创.之前我在 CSDN 编写了一篇开发 Python 库的教程,有人加我提问到的一些问题,我来更新一下这篇文章:https://blog.csdn.net/qq_33254766/arti ...

  2. 发布了一个jar包到中央仓库,我的心好累…

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. 前几天我在网上冲浪的时候,看见有一个老铁在git上给我提了一个issue: 万万没想到,有一天我写的烂代码居然也 ...

  3. 51NOD5213A 【提高组/高分-省选预科 第一场【M】】序列

    小 Y 酷爱的接龙游戏正是这样.玩腻了成语接龙之后,小 Y 决定尝试无平方因子二元合数接龙,规则如下: 现有 \(n\) 个不超过 \(K\) 的合数,每个合数 \(a\) 均可表示为 \(a=pq( ...

  4. 通过Google Cloud Storage(GCS)管理Terraform的状态State

    管理Terraform状态文件的最佳方式是通过云端的统一的存储,如谷歌云就用GCS. 首先要创建一个Bucket: $ gsutil mb -p pkslow -l us-west1 -b on gs ...

  5. 低版本客户端连接高版本数据库报错ORA-28040、ORA-01017

    测试环境: 客户端:Oracle 11.2.0.1 服务端:Oracle 19.16 测试过程: 1.低版本客户端连接高版本数据库报错ORA-28040 2.低版本客户端连接高版本数据库报错ORA-0 ...

  6. 使用vue创建一个吸顶的菜单项--简单版

    1.hover时候出现,总体来说只改了一下两个index.vue,还有route文件 src\layoutTwo\index.vue <template> <div class=&q ...

  7. three.js一步一步来--如何画出一个逃跑的圆柱体

    代码如下 <template> <div style="width:1000px; height:800px"> <p>逃跑的圆柱体</p ...

  8. Loadrunner的函数收集

    1.int web_url( const char *StepName, const char *url, <List of Attributes>, [EXTRARES, <Lis ...

  9. 使用 DirectSound 录制麦克风音频

    使用 DirectSound 录制麦克风音频 本文所有代码均可在以下仓库找到 https://gitcode.net/PeaZomboss/learnaudios 目录是demo/dscapture ...

  10. 详解神经网络基础部件BN层

    摘要:在深度神经网络训练的过程中,由于网络中参数变化而引起网络中间层数据分布发生变化的这一过程被称为内部协变量偏移(Internal Covariate Shift),而 BN 可以解决这个问题. 本 ...