python读取excel(xlrd)

简介:

 一、安装xlrd模块:

1、mac下打开终端输入命令:

pip install xlrd

2、验证安装是否成功:

  • 在mac终端输入 python  进入python环境
  • 然后输入 import xlrd

  不报错说明模块安装成功

 

二、常用方法:

1、导入模块:

import xlrd

2、打开文件:

x1 = xlrd.open_workbook("data.xlsx")

 

3、获取sheet:

  • 获取所有sheet名字:x1.sheet_names()
  • 获取sheet数量:x1.nsheets
  • 获取所有sheet对象:x1.sheets()
  • 通过sheet名查找:x1.sheet_by_name("test”)
  • 通过索引查找:x1.sheet_by_index(3)
复制代码
# -*- coding:utf-8 -*-

import xlrd
import os

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

print filePath

# 1、打开文件
x1 = xlrd.open_workbook(filePath)

# 2、获取sheet对象
print 'sheet_names:', x1.sheet_names()  # 获取所有sheet名字
print 'sheet_number:', x1.nsheets        # 获取sheet数量
print 'sheet_object:', x1.sheets()       # 获取所有sheet对象
print 'By_name:', x1.sheet_by_name("test")  # 通过sheet名查找
print 'By_index:', x1.sheet_by_index(3)  # 通过索引查找
复制代码

输出:

复制代码
sheet_names: [u' plan', u'team building', u'modile', u'test']
sheet_number: 4
sheet_object: [<xlrd.sheet.Sheet object at 0x10244c190>, <xlrd.sheet.Sheet object at 0x10244c150>, <xlrd.sheet.Sheet object at 0x10244c110>, <xlrd.sheet.Sheet object at 0x10244c290>]
By_name: <xlrd.sheet.Sheet object at 0x10244c290>
By_index: <xlrd.sheet.Sheet object at 0x10244c290>
复制代码

 

4、获取sheet的汇总数据:

  • 获取sheet名:sheet1.name
  • 获取总行数:sheet1.nrows
  • 获取总列数:sheet1.ncols
复制代码
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)
print filePath

# 打开文件
x1 = xlrd.open_workbook(filePath)

# 获取sheet的汇总数据
sheet1 = x1.sheet_by_name("plan")
print "sheet name:", sheet1.name   # get sheet name
print "row num:", sheet1.nrows  # get sheet all rows number
print "col num:", sheet1.ncols  # get sheet all columns number
复制代码

输出:

sheet name: plan
row num: 31
col num: 11

 

 5、单元格批量读取:
 a)行操作:
  • sheet1.row_values(0)  # 获取第一行所有内容,合并单元格,首行显示值,其它为空。
  • sheet1.row(0)           # 获取单元格值类型和内容
  • sheet1.row_types(0)   # 获取单元格数据类型
复制代码
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")

# 单元格批量读取
print sheet1.row_values(0)  # 获取第一行所有内容,合并单元格,首行显示值,其它为空。
print sheet1.row(0)         # 获取单元格值类型和内容
print sheet1.row_types(0)   # 获取单元格数据类型
复制代码
输出:
[u'learning plan', u'', u'', u'', u'', u'', u'', u'', 123.0, 42916.0, 0]
[text:u'learning plan', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', number:123.0, xldate:42916.0, bool:0]
array('B', [1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4])

 

b) 表操作

  • sheet1.row_values(0, 6, 10)   # 取第1行,第6~10列(不含第10表)
  • sheet1.col_values(0, 0, 5)    # 取第1列,第0~5行(不含第5行)
  • sheet1.row_slice(2, 0, 2)     # 获取单元格值类型和内容
  • sheet1.row_types(1, 0, 2)   # 获取单元格数据类型
复制代码
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

print filePath

# 1、打开文件
x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")

# 列操作
print sheet1.row_values(0, 6, 10)   # 取第1行,第6~10列(不含第10表)
print sheet1.col_values(0, 0, 5)    # 取第1列,第0~5行(不含第5行)
print sheet1.row_slice(2, 0, 2)     # 获取单元格值类型和内容,同sheet1.row(0)
print sheet1.row_types(1, 0, 2)     # 获取单元格数据类型
复制代码

输出:

[u'', u'', 123.0, 42916.0]
[u'learning plan', u'\u7f16\u53f7', 1.0, 2.0, 3.0]
[number:1.0, text:u'\u7ba1\u7406\u5b66\u4e60']
array('B', [1, 1])
 
6、特定单元格读取:
 a) 获取单元格值:
  • sheet1.cell_value(1, 2)
  • sheet1.cell(1, 2).value
  • sheet1.row(1)[2].value 
b) 获取单元格类型:
  • sheet1.cell(1, 2).ctype
  • sheet1.cell_type(1, 2)
  • sheet1.row(1)[2].ctype
复制代码
# -*- coding:utf-8 -*-

import xlrd
import os
from datetime import date,datetime

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")

# 特定单元格读取
# 取值
print sheet1.cell_value(1, 2)
print sheet1.cell(1, 2).value
print sheet1.row(1)[2].value

#取类型
print sheet1.cell(1, 2).ctype
print sheet1.cell_type(1, 2)
print sheet1.row(1)[2].ctype
复制代码
 
7、(0,0)转换A1:
  • xlrd.cellname(0, 0)   # (0,0)转换成A1
  • xlrd.cellnameabs(0, 0) # (0,0)转换成$A$1
  • xlrd.colname(30)  # 把列由数字转换为字母表示
复制代码
# -*- coding:utf-8 -*-

import xlrd
import os

filename = "demo.xlsx"
filePath = os.path.join(os.getcwd(), filename)

# 打开文件
x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")

# (0,0)转换成A1
print xlrd.cellname(0, 0)   # (0,0)转换成A1
print xlrd.cellnameabs(0, 0) # (0,0)转换成$A$1
print xlrd.colname(30)  # 把列由数字转换为字母表示
复制代码

输出:

A1
$A$1
AE
 
8、数据类型:
  • 空:0
  • 字符串:1
  • 数字:2
  • 日期:3
  • 布尔:4
  • error:5
 
 
本文转自贺满博客园博客,原文链接:http://www.cnblogs.com/puresoul/p/7520198.html ,如需转载请自行联系原作者。
目录
相关文章
|
1月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
136 10
|
10天前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
2月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
136 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
机器学习/深度学习 前端开发 数据处理
利用Python将Excel快速转换成HTML
本文介绍如何使用Python将Excel文件快速转换成HTML格式,以便在网页上展示或进行进一步的数据处理。通过pandas库,你可以轻松读取Excel文件并将其转换为HTML表格,最后保存为HTML文件。文中提供了详细的代码示例和注意事项,帮助你顺利完成这一任务。
45 0
|
3月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
198 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
3月前
|
Python
python读写操作excel日志
主要是读写操作,创建表格
74 2
|
3月前
|
索引 Python
Excel学习笔记(一):python读写excel,并完成计算平均成绩、成绩等级划分、每个同学分数大于70的次数、找最优成绩
这篇文章是关于如何使用Python读取Excel文件中的学生成绩数据,并进行计算平均成绩、成绩等级划分、统计分数大于70的次数以及找出最优成绩等操作的教程。
116 0
|
3月前
|
存储 Python
Python实战项目Excel拆分与合并——合并篇
Python实战项目Excel拆分与合并——合并篇
76 0
|
API 数据处理 索引
Python xlrd和xlwt操作Excel实现自动化
Python xlrd和xlwt操作Excel实现自动化
608 0
Python xlrd和xlwt操作Excel实现自动化
|
数据挖掘 BI 数据库
【Python】我用xlrd、xlwt操作Excel
本篇内容介绍了“怎么用Python来操作Excel”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让我带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
【Python】我用xlrd、xlwt操作Excel