python

Excel自动化处理相关知识

2022-07-07  本文已影响0人  小陈工

一、读取excel表格的数据——xlrd

1.1 安装

可使用pycharm搜索xlrd安装,也可在virtualenv中执行以下操作: pip install xlrd

1.2 使用方法

import xlrd

#读取目标excel表

xlsx = xlrd.open_workbook('d:/7月下旬入库表.xlsx')

#读取excel表中第一个工作簿

table = xlsx.sheet_by_index(0)

#读取第一行,第一列的数据

print(table.cell_value(0, 0))

# 获取所有sheet名字:xlsx.sheet_names()

# 获取sheet数量:xlsx.nsheets

二、将数据写入excel表——xlwt

2.1 安装

可使用pycharm搜索xlwt安装,也可在virtualenv中执行以下操作: pip install xlwt

2.2 使用方法

import xlwt

#创建一个excel表对象

new_workbook = xlwt.Workbook()

#在excel表中创建一个新的工作簿

worksheet = new_workbook.add_sheet('new_test')

#在工作簿中的第一行第一列写入内容

worksheet.write(0, 0, 'test')

#将excel表保存到本地

new_workbook.save('d:/test.xls')

三、实战案例一

3.1 需求:逐行读取旧表的内容,将其写入到新表中

3.2 代码实现:

import xlrd,xlsxwriter

#读取旧表

xlsx = xlrd.open_workbook('d:/7月下旬入库表.xlsx')

#创建新表

new_workbook = xlsxwriter.Workbook('d:/test.xlsx')

#创建新工作簿

worksheet = new_workbook.add_worksheet()

#读取旧表的第一个工作簿

table = xlsx.sheet_by_index(0)

#遍历,将读取到的数据写入到新表

for i in range(0,table.nrows):

    for j in range(0,table.ncols):

        worksheet.write(i, j, table.cell_value(i, j))

new_workbook.close()

四、工具类xlutils和写入数据的样式

4.1 复制模板

from xlutils.copy import copy

tem_excel = xlrd.open_workbook('D:/日统计.xls', formatting_info=True)

tem_sheet = tem_excel.sheet_by_index(0)

#将旧表的样式复制到新表中

new_excel = copy(tem_excel)

new_sheet = new_excel.get_sheet(0)

4.2 设置写入数据的样式

style = xlwt.XFStyle()

#设置字体

font = xlwt.Font()

font.name = '微软雅黑'

font.bold = True

font.height = 360

style.font = font

#设置边框为细边框

borders = xlwt.Borders()

borders.top = xlwt.Borders.THIN

borders.bottom = xlwt.Borders.THIN

borders.left = xlwt.Borders.THIN

borders.right = xlwt.Borders.THIN

style.borders = borders

#设置对齐格式为居中对齐

alignment = xlwt.Alignment()

alignment.horz = xlwt.Alignment.HORZ_CENTER

alignment.vert = xlwt.Alignment.VERT_CENTER

style.alignment = alignment

#以指定的格式写入数据

new_sheet.write(2, 1, 12, style)

new_sheet.write(3, 1, 18, style)

new_sheet.write(4, 1, 19, style)

new_sheet.write(5, 1, 15, style)

#保存

new_excel.save('D:/填写.xls')

上一篇下一篇

猜你喜欢

热点阅读