课程大纲
第二章 Python10分钟入门
【2.1】:PyCharm社区版配置Anaconda开发环境
【2.2】:Python基础知识及正则表达式入门
第三章 Python操作Excel
【3.1】:xlrd 使用教程 读取 操作Excel
【3.2】:xlwt 使用教程 写入 操作Excel
【3.3】:xlutils 使用教程 修改 操作Excel
【3.4】:xlwings 使用教程 读取 写入 修改 操【作Excel
【3.5】:openpyxl 使用教程 读取 写入 修改 操作Excel
【3.6】:xlswriter 使用教程 读取 写入 修改 操作Excel
【3.7】:win32com 使用教程 读取 写入 修改 操作Excel
【3.8】:pandas 使用教程 读取 写入 修改 操作Excel
第四章 Python操作word
【4.1】:win32com 使用教程 操作word
【4.2】:python-docx 使用教程 操作word
第五章 Python操作ppt
【5.1】:win32com 使用教程 操作复制ppt PowerPoint
【5.2】:python-pptx 使用教程 操作ppt PowerPoint 添加文字 形状图表
文章目录
xlwt可以用于写入新的Excel表格或者在原表格基础上进行修改,速度也很快,推荐使用!
官方文档:https://xlwt.readthedocs.io/en/latest/
3.2.1 pip安装xlwt
pip install xlwt
我这里是anaconda自带有xlwt,所以提示已经安装:
3.2.2 使用xlwt创建新表格并写入
一开始目录下只有这两个文件:
编写xlwt新表格写入程序:
# 3.2.2 使用xlwt创建新表格并写入
def fun3_2_2():
# 创建新的workbook(其实就是创建新的excel)
workbook = xlwt.Workbook(encoding= 'ascii')
# 创建新的sheet表
worksheet = workbook.add_sheet("My new Sheet")
# 往表格写入内容
worksheet.write(0,0, "内容1")
worksheet.write(2,1, "内容2")
# 保存
workbook.save("新创建的表格.xls")
生成的表格内容如下:
3.2.3 xlwt 设置字体格式
程序示例:
# 3.2.3 xlwt设置字体格式
def fun3_2_3():
# 创建新的workbook(其实就是创建新的excel)
workbook = xlwt.Workbook(encoding= 'ascii')
# 创建新的sheet表
worksheet = workbook.add_sheet("My new Sheet")
# 初始化样式
style = xlwt.XFStyle()
# 为样式创建字体
font = xlwt.Font()
font.name = 'Times New Roman' #字体
font.bold = True #加粗
font.underline = True #下划线
font.italic = True #斜体
# 设置样式
style.font = font
# 往表格写入内容
worksheet.write(0,0, "内容1")
worksheet.write(2,1, "内容2",style)
# 保存
workbook.save("新创建的表格.xls")
效果如下:
3.2.4 xlwt 设置列宽
xlwt中列宽的值表示方法:默认字体0的1/256为衡量单位。
xlwt创建时使用的默认宽度为2960,既11个字符0的宽度
所以我们在设置列宽时可以用如下方法:
width = 256 * 20 256为衡量单位,20表示20个字符宽度
程序示例:
# 3.2.4 设置列宽
def fun3_2_4():
# 创建新的workbook(其实就是创建新的excel)
workbook = xlwt.Workbook(encoding= 'ascii')
# 创建新的sheet表
worksheet = workbook.add_sheet("My new Sheet")
# 往表格写入内容
worksheet.write(0,0, "内容1")
worksheet.write(2,1, "内容2")
# 设置列宽
worksheet.col(0).width = 256*20
# 保存
workbook.save("新创建的表格.xls")
效果如下:
3.2.5 xlwt 设置行高
在xlwt中没有特定的函数来设置默认的列宽及行高
行高是在单元格的样式中设置的,你可以通过自动换行通过输入文字的多少来确定行高
程序示例:
# 3.2.5 设置行高
def fun3_2_5():
# 创建新的workbook(其实就是创建新的excel)
workbook = xlwt.Workbook(encoding= 'ascii')
# 创建新的sheet表
worksheet = workbook.add_sheet("My new Sheet")
# 往表格写入内容
worksheet.write(0,0, "内容1")
worksheet.write(2,1, "内容2")
# 设置行高
style = xlwt.easyxf('font:height 360;') # 18pt,类型小初的字号
row = worksheet.row(0)
row.set_style(style)
# 保存
workbook.save("新创建的表格.xls")
效果如下:
3.2.6 xlwt 合并列和行
程序示例:
# 3.2.6 合并列和行
def fun3_2_6():
# 创建新的workbook(其实就是创建新的excel)
workbook = xlwt.Workbook(encoding= 'ascii')
# 创建新的sheet表
worksheet = workbook.add_sheet("My new Sheet")
# 往表格写入内容
worksheet.write(0,0, "内容1")
# 合并 第1行到第2行 的 第0列到第3列
worksheet.write_merge(1, 2, 0, 3, 'Merge Test')
# 保存
workbook.save("新创建的表格.xls")
效果如下:
3.2.7 xlwt 添加边框
程序示例:
# 3.2.7 添加边框
def fun3_2_7():
# 创建新的workbook(其实就是创建新的excel)
workbook = xlwt.Workbook(encoding= 'ascii')
# 创建新的sheet表
worksheet = workbook.add_sheet("My new Sheet")
# 往表格写入内容
worksheet.write(0,0, "内容1")
# 设置边框样式
borders = xlwt.Borders() # Create Borders
# May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR,
# MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED,
# MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.
# DASHED虚线
# NO_LINE没有
# THIN实线
borders.left = xlwt.Borders.DASHED
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
borders.left_colour = 0x40
borders.right_colour = 0x40
borders.top_colour = 0x40
borders.bottom_colour = 0x40
style = xlwt.XFStyle() # Create Style
style.borders = borders # Add Borders to Style
worksheet.write(0, 0, '内容1', style)
worksheet.write(2,1, "内容2")
# 保存
workbook.save("新创建的表格.xls")
效果如下:
3.2.8 xlwt为单元格设置背景色
程序示例:
# 设置单元格背景色
def fun3_2_8():
# 创建新的workbook(其实就是创建新的excel)
workbook = xlwt.Workbook(encoding= 'ascii')
# 创建新的sheet表
worksheet = workbook.add_sheet("My new Sheet")
# 往表格写入内容
worksheet.write(0,0, "内容1")
# 创建样式
pattern = xlwt.Pattern()
# May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
# May be: 8 through 63. 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow,
# 6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow ,
# almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on...
pattern.pattern_fore_colour = 5
style = xlwt.XFStyle()
style.pattern = pattern
# 使用样式
worksheet.write(2,1, "内容2",style)
效果如下:
3.2.9 xlwt设置单元格对齐
使用xlwt中的Alignment来设置单元格的对齐方式,其中horz代表水平对齐方式,vert代表垂直对齐方式。
VERT_TOP = 0x00 上端对齐
VERT_CENTER = 0x01 居中对齐(垂直方向上)
VERT_BOTTOM = 0x02 低端对齐
HORZ_LEFT = 0x01 左端对齐
HORZ_CENTER = 0x02 居中对齐(水平方向上)
HORZ_RIGHT = 0x03 右端对齐
程序示例:
# 设置单元格对齐
def fun3_2_9():
# 创建新的workbook(其实就是创建新的excel)
workbook = xlwt.Workbook(encoding= 'ascii')
# 创建新的sheet表
worksheet = workbook.add_sheet("My new Sheet")
# 往表格写入内容
worksheet.write(0,0, "内容1")
# 设置样式
style = xlwt.XFStyle()
al = xlwt.Alignment()
# VERT_TOP = 0x00 上端对齐
# VERT_CENTER = 0x01 居中对齐(垂直方向上)
# VERT_BOTTOM = 0x02 低端对齐
# HORZ_LEFT = 0x01 左端对齐
# HORZ_CENTER = 0x02 居中对齐(水平方向上)
# HORZ_RIGHT = 0x03 右端对齐
al.horz = 0x02 # 设置水平居中
al.vert = 0x01 # 设置垂直居中
style.alignment = al
# 对齐写入
worksheet.write(2,1, "内容2",style)
# 保存
workbook.save("新创建的表格.xls")
效果如下:
以上模块功能可能没列举全,大家有什么希望的操作可以直接留言,我收到留言后会增加相关操作示例(若有),并对文章进行更新,谢谢大家!