1、关于Excel,我们都不陌生,但在开始操作之前,还是简单的在来了解下Excel的结构,工作簿的英文是BOOK(WORKBOOK),工作表的英文是SHEET(WORKSHEET)
- 一个工作簿是一个独立的文件
- 一个工作簿里面可以有1个或者多个工作表
2、使用python实现对Excel文件的读取,需要安装xlrd模块
3、excel数据中的sheet编号,行号,列号都是从索引0开始的
(Mac中的numbers文件可以导成Excel使用)
import xlrd
def read_xlsx(path):
wb=xlrd.open_workbook(path)
sheet_name=wb.sheet_names()#输出所有工作蒲中的工作表
print(sheet_name)
# 通过sheet索引或者名称获取sheet
data_sheet=wb.sheet_by_index(0)
data_sheet1=wb.sheets()[0]
print(data_sheet)
print(data_sheet1)
# 通过sheet获取行数
rowNum = wb.sheet_by_index(0).nrows;
# 通过sheet获取列数
colNum = wb.sheet_by_index(0).ncols;
print(rowNum)
print(colNum)
# 获取第一行的内容
print(data_sheet.row_values(1))
# 获取第一列的内容
print(data_sheet.col_values(3))
# 获取单元格内容
print(data_sheet.cell(9, 7).value)
# 获取所有单元格内容
list = []
for i in range(rowNum):
rowlist = []
for j in range(colNum):
rowlist.append(data_sheet.cell_value(i, j))
list.append(rowlist)
# 输出所有单元格的内容
for i in range(rowNum):
for j in range(colNum):
print(list[i][j], '\t\t', end="")
print()
#获取数据单元格的数据类型
# python读取excel中单元格的内容返回的有5种类型,即上面例子中的ctype:
# ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
data_ctype=data_sheet.cell(4,8).ctype
print(data_ctype)