PythonStudy——xlrd 与 xlwt 表格处理模块

excle结构分析

一个excle表格包含多个sheet

一个sheet中包含多行多列

每个单元格具备唯一的行号和列号

 

xlrd 常用模块

import xlrd

# 读取文件
work_book = xlrd.open_workbook("/Users/jerry/Desktop/公司机密数据.xlsx")
# 选取一个表

# 获取所有所有表格名称
print(work_book.sheet_names())

# 选择第2个  索引从0开始
sheet = work_book.sheet_by_index(1)

# 表格名称
print(sheet.name)

# 行数
print(sheet.nrows)
# 列数
print(sheet.ncols)


#批量读取行数据
# 取出第6行的全部内容包含数据类型
print(sheet.row(6))
# 取出第6行的内容包含数据类型 从第3列开始获取
print(sheet.row_slice(6,start_colx=3))

# 取出第6行的内容包含数据类型 从第3列开始获取
print(sheet.row_slice(6,start_colx=4,end_colx=5))

# 获取该行所有数据类型 一数字表示
# print(sheet.row_types(6))
# print(sheet.row_values(6))


# 单元格的处理
print(sheet.cell(0,0).value) # 取值
print(sheet.cell(0,0).ctype) # 取类型
print(sheet.cell_value(2,0)) # 直接取值

print(sheet.row(0)[0]) # 先取行再取单元格
print(sheet.col(0)) # 第0列所有数据
print(sheet.col(0)) # 先取列再取单元格

print(sheet.cell_type(0,0))

# 单元格位置转换
print(xlrd.cellname(2,1))
print(xlrd.cellnameabs(0,2))
print(xlrd.colname(5))


# 时间类型转换
# print(sheet.cell(6,5).value)
# print(xlrd.xldate_as_datetime(sheet.cell(6,5).value,1))

 

xlwt模块

是python中一个第三方的用于写入excle数据到表格的模块

用代码来编写exlce是非常低效的 所以该模块了解即可。

import xlwt
# 创建工作簿
work = xlwt.Workbook()
# 创建一个表
sheet = work.add_sheet("员工信息数据")


#创建一个字体对象
font = xlwt.Font()
font.name = "Times New Roman" # 字体名称
font.bold = True # 加粗
font.italic = True # 斜体
font.underline = True # 下划线

#创建一个样式对象
style = xlwt.XFStyle()
style.font = font


# 写入标题
for k in keys:
    sheet.write(0,keys.index(k),k,style)

# 写入数据
for i in infos:
    for k in keys:
        sheet.write(1 + infos.index(i),keys.index(k),label = i[k])
# 保存至文件
work.save("test.xls")

 

posted @ 2019-05-24 19:33  挺锅锅  阅读(280)  评论(0编辑  收藏  举报