Python基于xlrd模块处理合并单元格

目的:

python能使用xlrd模块实现对Excel数据的读取,且按照想要的输出形式。

总体思路:

(1)要想实现对Excel数据的读取,需要用到第三方应用,直接应用。

(2)实际操作时候和我们实际平时打开一个文件进行操作一样,先找到文件-->打开文件-->定义要读取的sheet-->读取出内容。

Excel处理合并单元格:

已存在合并单元格如下:

xlrd中的 merged_cells 属性介绍:[code]import xlrd

import xlrd
workbook = xlrd.open_workbook('./data/test_data.xlsx')
sheet = workbook.sheet_by_name('Sheet1')
merged = sheet.merged_cells # 返回一个列表 起始行,结束行,起始列,结束列)
print(merged)

读取合并单元格中的某一个单元格的值编写成一个方法:

def get_merged_cell_value(row_index,col_index):
  cell_value = None
  for (rlow, rhigh, clow, chigh) in merged:
    if (row_index >= rlow and row_index < rhigh):
      if (col_index >= clow and col_index < chigh):
        cell_value = sheet.cell_value(rlow, clow)
  return cell_value

print( get_merged_cell_value(0,1) )

给出坐标,判断是否为合并单元格:

#方法参数为单元格的坐标(x,y),如果给的坐标是合并的单元格,输出此单元格是合并的,否则,输出普通单元格
def get_merged_cell_value(row_index,col_index):
  for (rlow, rhigh, clow, chigh) in merged:
    if (row_index >= rlow and row_index < rhigh and col_index >= clow and col_index < chigh):
      print("此单元格是合并单元格")
    else:
      print("此单元格为普通单元格")

print( get_merged_cell_value(4,3) )

##读取第3列的所有数据,并进行降序排序
clox=3
list1=[]
for i in range(1,sheet.nrows):
  cell_value=float(sheet.cell_value(i,clox))
  list1.append(cell_value)
print(list1)
list1.sort()
list1.reverse()
print(list1)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 复制代码 代码如下: import xlrd 2.打开Excel文件读取数据 复制代码 代码如下: data = xlrd.open_workbook('excelFile.xls') 3.使用技巧 获取一个工作表

  • python使用xlrd模块读取xlsx文件中的ip方法

    程序中经常需要使用excel文件,批量读取文件中的数据 python读取excel文件可以使用xlrd模块 pip install xlrd安装模块 示例: #coding=utf8 import xlrd from os import path import sys filename='ip.xlsx' if not path.isfile(filename): print "err: not exists or not file ip.xlsx " sys.exit() getfi

  • Python基于xlrd模块操作Excel的方法示例

    本文实例讲述了Python基于xlrd模块操作Excel的方法.分享给大家供大家参考,具体如下: 一.使用xlrd读取excel 1.xlrd的安装: pip install xlrd==0.9.4 2.基本操作示例: #coding: utf-8 import xlrd #导入xlrd模块 xlsfile=r"D:\workspace\host.xls" #获得excel的book对象 book = xlrd.open_workbook(filename=None, file_con

  • Python中的xlrd模块使用原理解析

    on里面的xlrd模块详解(一) - 疯了的小蜗 - 博客园[内容]:> 那我就一下面积个问题对xlrd模块进行学习一下: 什么是xlrd模块? 为什么使用xlrd模块? 1.什么是xlrd模块? ♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 今天就先来说一下xlrd模块: 一.安装xlrd模块 ♦ 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python

  • Python xlrd模块导入过程及常用操作

    简介 读取Excle文档,支持xls,xlsx格式 安装:pip3 install xlrd 导入:import xlrd xlrd 模块方法 读取Excel file = 'route_info.xls' # 读取Excel信息,生成对象 read_book = xlrd.open_workbook(file) 获取sheet[表]相关方法,返回xlrd.sheet.Sheet()对象 sheet = read_book.sheets() # 获取全部sheet列表 print(sheet)

  • python读取excel进行遍历/xlrd模块操作

    我就废话不多说了,大家还是直接看代码吧~ #!/usr/bin/env python # -*- coding: utf-8 -*- import csv import xlrd import xlwt def handler_excel(filename=r'/Users/zongyang.yu/horizon/ops_platform/assets/upload/1.xlsl'): # 打开文件 workbook = xlrd.open_workbook(filename) index =

  • Python使用xlrd模块操作Excel数据导入的方法

    本文实例讲述了Python使用xlrd模块操作Excel数据导入的方法.分享给大家供大家参考.具体分析如下: xlrd是一个基于python的可以读取excel文件的产品.和pyExcelerator相比,xlrd的主要特点在于读的功能比较强大,提供了表单行数.列数.单元格数据类型等pyExcelrator无法提供的详细信息,使得开发人员无须了解表单的具体结构也能对表单中的数据进行正确的分析转换. 但是xlrd仅仅提供了读取excel文件的功能,不能像pyExcelrator那样生成excel文

  • Python基于xlrd模块处理合并单元格

    目的: python能使用xlrd模块实现对Excel数据的读取,且按照想要的输出形式. 总体思路: (1)要想实现对Excel数据的读取,需要用到第三方应用,直接应用. (2)实际操作时候和我们实际平时打开一个文件进行操作一样,先找到文件-->打开文件-->定义要读取的sheet-->读取出内容. Excel处理合并单元格: 已存在合并单元格如下: xlrd中的 merged_cells 属性介绍:[code]import xlrd import xlrd workbook = xlr

  • Python使用xlrd实现读取合并单元格

    合并单元格 操作方法: 1.使用xlrd自带属性:merged_cells # 获取表格中所有合并单元格位置,以列表形式返回 (起始行,结束行,起始列,结束列) merged = sheet.merged_cells #结果:[(1,5,0,1),(5,9,0,1)] 2.使用循环判断是合并单元格还是普通单元格,并将合并单元格中的首行值赋值给合并单元格 def get_cell_type(row_index, col_index): """既能得到合并单元格也能得到普通单元格

  • python之DataFrame实现excel合并单元格

    在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元格进行合并,比如如下表表格,需要根据A列的值,合并B.C列的对应单元格 pandas中的to_excel方法只能对索引进行合并,而xlsxwriter中,虽然提供有merge_range方法,但是这只是一个和基础的方法,每次都需要编写繁琐的测试才能最终调好,而且不能很好的重用.所以想自己写一个方法,结合dataframe和merge_range.大概思路是: 1.定义一个MY_DataFrame类,继承DataFrame类,这样能很

  • Python实现Excel自动分组合并单元格

    大家好,我们经常会有这样的需求.比如下图 我们需要把同一个省份的合并起来,如下图的效果 如何实现呢,这是原有的df 直观的操作是这样的: df.to_excel('test.xlsx',index=False) from openpyxl import load_workbook wb=load_workbook('test.xlsx') ws=wb.active() ws.merge_cells(start_row=2,end_row=8,start_column=1,end_column=1

  • Python批量合并有合并单元格的Excel文件详解

    合并单元格 合并单元格相信大家都会,比如下面这段简单的代码就可以实现: app='Word' word=win32.gencache.EnsureDispatch('%s.Application' % app) doc=word.Documents.Add() word.Visible=False #Title begin sel =word.Selection sel.Font.Name = u"微软雅黑" sel.Font.Size = 8 sel.Font.Bold = Fals

  • 在python中使用xlrd获取合并单元格的方法

    处理excel表格的时候经常遇到合并单元格的情况,使用xlrd中的merged_cells的方法可以获取当前文档中的所有合并单元格的位置信息. import xlrd xls = xlrd.open_workbook('test.xls') sh = xls.sheet_by_index(0) 读取excel并读取第一页的内容. for crange in sh.merged_cells: rs, re, cs, ce = crange merged_cells返回的是一个列表,每一个元素是合并

  • python使用openpyxl读取合并单元格的值

    目录 问题: 解决思路: 问题: 假设在test.xlsx的"Sheet1"工作表中,A1:D3区域的值如下: 要求给定指定的行.列以及对应的工作表作为参数,能够正确解析合并单元格,获取指定单元格的值. 如果直接根据行列获取对应单元格的值,则合并单元格非左上角的其他单元格都会获取到None值,如下: if __name__ == "__main__": wb = xl.load_workbook("test.xlsx") sheet_ = wb[

  • python使用xlrd模块读取excel的方法实例

    目录 一.安装xlrd模块: 二.常用方法: 1.导入模块: 2.打开文件: 3.获取sheet: 4.获取sheet的汇总数据: 5.单元格批量读取: 6.特定单元格读取: 7.(0,0)转换A1: 8.数据类型: 附:写一个自动获取excel表内容的类 总结 一.安装xlrd模块: 1.mac下打开终端输入命令: pip install xlrd 2.验证安装是否成功: 在mac终端输入 python  进入python环境 然后输入 import xlrd 不报错说明模块安装成功 二.常用

随机推荐