21天Python学习——自动化操作Excel

活动地址:CSDN21天学习挑战赛

无论是在工作中还是学习中我们都几乎在不间断的使用Excel来记录或者处理一些数据。都可以通过Python来完成。

一、xlwt 写入Excel表操作

1 cmd控制台安装模块

pip install xlwt

2 导入模块

import xlwt

3 操作数据

写入单个数据

import xlwt
 
# 1. 创建Excel表对象
workbook = xlwt.Workbook(encoding='utf8')
# 2. 新建sheet表
worksheet = workbook.add_sheet('Sheet1')
# 3. 写入数据到指定单元格
worksheet.write(0, 0, "python")
# 4. 保存文件分两种格式
workbook.save('test.xls')
workbook.save('test.xlsx')

结果:

写入多个数据

import xlwt

data_list = [('小白', '20', '男'), ('小黑', '21', '男'), ('小红', '20', '女')]
# 1. 创建Excel表对象
workbook = xlwt.Workbook(encoding='utf8')
# 2. 新建sheet表
worksheet = workbook.add_sheet('Sheet1')
# 3. 自定义列名
col1 = ('姓名', '年龄', '性别')
# 4. 将列属性元组col写进sheet表单中第一行
for i in range(0, len(col1)):
    worksheet.write(0, i, col1[i])
# 5. 将数据写进sheet表单中
for i in range(0, len(data_list)):
    data = data_list[i]
    for j in range(0, len(col1)):
        worksheet.write(i + 1, j, data[j])
# 6. 保存文件分两种格式
workbook.save('test.xls')

结果:

 设置列宽

for c in range(len(col1)):
    worksheet.col(c).width = 256 * 24

设置行高

# 5. 将数据写进sheet表单中
for i in range(0, len(data_list)):
    data = data_list[i]
    for j in range(0, len(col1)):
        worksheet.write(i + 1, j, data[j])
        # 6. 设置行高
        worksheet.row(i + 1).height_mismatch = True
        worksheet.row(i + 1).height = 1600  # 设置行高

设置单元格风格

def body_style():
    # 一、创建一个样式对象,初始化样式 style
    style = xlwt.XFStyle()  # Create Style对象
 
    # 二、字体风格设置
    font = xlwt.Font()  # Create Font对象
    font.name = "SimSun"  # 设置字体类型,宋体
    font.colour_index = 4  # 设置字体颜色
    font.height = 20 * 12  # 字体大小,12为字号,20为衡量单位
    font.bont = True  # 设置字体加粗
    font.underline = True  # 下划线
    font.italic = True  # 斜体字
 
    # 二、背景设置
    pattern = xlwt.Pattern()
    pattern.pattern = xlwt.Pattern.SOLID_PATTERN  # May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12
    pattern.pattern_fore_colour = 4  # 给背景颜色赋值
 
    # 三、边框设置
    borders = xlwt.Borders()  # 创建边框对象,    # .DASHED:虚线;.NO_LINE:没有
    # 上下左右都添加边框
    borders.left = 1
    borders.right = 1
    borders.top = 1
    borders.bottom = 1
    # 设置边框颜色
    borders.left_colour = 2
    borders.right_colour = 2
    borders.top_colour = 2
    borders.bottom_colour = 2
 
    # 四、位置设置
    alignment = xlwt.Alignment()
    alignment.horz = 1  # 设置水平位置,0是左对齐,1是居中,2是右对齐
    alignment.wrap = 1  # 设置自动换行
 
    # 五、设置好之后,全部都加到style上
    style.alignment = alignment
    style.font = font
    style.borders = borders
    return style
 
# 应用样式
sheet.write(row, column, i)  # 不带格式
sheet.write(row, column, i, style)  # 有格式

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值