Bootstrap

python操作Excel (2)

python操作Excel (2)

1.xlrd获取Excel文件

# openpyxl操作xlsx文件,xlrd操作xls文件
import xlrd

# 1. 打开Excel文件获取工作簿对象(Excel文件只能是xls文件)
wb = xlrd.open_workbook('files/data1.xls')

# 2. 获取工作表
# 1)获取所有工作表的表名
print(wb.sheet_names())

# 2) 获取工作表
# a.获取所有的工作表
# 工作簿对象.sheets()
all_sheet = wb.sheets()
print(all_sheet)            # [Sheet  0:<students>, Sheet  1:<teacher>]

# b.获取指定下标对应的工作表
# 工作簿对象.sheet_by_index(下标)
print(wb.sheet_by_index(0))     # Sheet  0:<students>
print(wb.sheet_by_index(1))     # Sheet  1:<teacher>

# c.获取指定名字对应的工作表
# 工作簿对象.sheet_by_name(表名)
students = wb.sheet_by_name('students')

# 3.获取表中的相关信息
# 1)获取表中数据部分的最大行数和最大列数
# 表对象.nrows -   最大行数
# 表对象.ncols -   最大列数
print(students.nrows, students.ncols)

# 2)按行或者按列获取数据
print(students.row_values(0))       # ['姓名', '性别', '年龄', '分数']
print(students.col_values(2))       # ['年龄', 20.0, 25.0, 22.0, 30.0]
print(students.col_values(0))       # ['姓名', '小明', '张三', '小花', '老王']
print(students.col_values(0, start_rowx=1))    # ['小明', '张三', '小花', '老王']
print(students.col_values(0, start_rowx=1, end_rowx=4))     # ['小明', '张三', '小花']

print('---------------------------------------华丽的分割线------------------------------------')
# 练习1:一行一行的获取整个表中所有的数据
for x in range(students.nrows):
    print(students.row_values(x))

print('---------------------------------------华丽的分割线------------------------------------')
# 练习2:一列一列的获取整个表中所有的数据
for x in range(students.ncols):
    print(students.col_values(x))

print('---------------------------------------华丽的分割线------------------------------------')
# 3)获取单元格对象
# a.工作表.cell(行下标, 列下标)      -       获取指定位置对应的单元格
# 单元格对象.value
print(students.cell(0, 0))      # text:'姓名'
print(students.cell(0, 0).value)        # 姓名

# b.工作表.row(行下标)    -   获取指定行中所有有数据的单元格对象
print(students.
;