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.wd(), 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的汇总数据:
python怎么读取excel文件数据
获取sheet名:sheet1.name
获取总⾏数:ws
获取总列数:ls
# -*- coding:utf-8 -*-
import xlrd
import os
from datetime import date,datetime
filename = "demo.xlsx"
filePath = os.path.wd(), 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:", ws  # get sheet all rows number
print "col num:", ls  # get sheet all columns number
输出:
sheet name: plan
row num: 31
col num: 11
5、单元格批量读取:
a)⾏操作:
# -*- coding:utf-8 -*-
import xlrd
import os
from datetime import date,datetime
filename = "demo.xlsx"
filePath = os.path.wd(), filename)
x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")
# 单元格批量读取
w_values(0)  # 获取第⼀⾏所有内容,合并单元格,⾸⾏显⽰值,其它为空。
w(0)        # 获取单元格值类型和内容
w_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) 表操作
# -*- coding:utf-8 -*-
import xlrd
import os
from datetime import date,datetime
filename = "demo.xlsx"
filePath = os.path.wd(), filename)
print filePath
# 1、打开⽂件
x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")
# 列操作
w_values(0, 6, 10)  # 取第1⾏,第6~10列(不含第10表)
l_values(0, 0, 5)    # 取第1列,第0~5⾏(不含第5⾏)
w_slice(2, 0, 2)    # 获取单元格值类型和内容,同w(0)
w_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) 获取单元格值:
b) 获取单元格类型:
# -*- coding:utf-8 -*-
import xlrd
import os
from datetime import date,datetime
filename = "demo.xlsx"
filePath = os.path.wd(), filename)
x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")
# 特定单元格读取
# 取值
ll_value(1, 2)
ll(1, 2).value
w(1)[2].value
#取类型
ll(1, 2).ctype
ll_type(1, 2)
w(1)[2].ctype
7、(0,0)转换A1:
import xlrd
import os
filename = "demo.xlsx"
filePath = os.path.wd(), filename)
# 打开⽂件
x1 = xlrd.open_workbook(filePath)
sheet1 = x1.sheet_by_name("plan")
# (0,0)转换成A1
llname(0, 0)  # (0,0)转换成A1
llnameabs(0, 0) # (0,0)转换成$A$1
lname(30)  # 把列由数字转换为字母表⽰
输出:
A1
$A$1
AE
8、数据类型:
空:0
字符串:1
数字:2
⽇期:3
布尔:4
error:5

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。