百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python 模块xlwt 写入.xls文件(python xlwt写入一行数据)

off999 2024-10-08 06:16 31 浏览 0 评论

Python操作Excel的模块有很多,并且各有优劣,不同模块支持的操作和文件类型也有不同。下面是各个模块的支持情况:

  1. xlrd:xlrd 读取.xls文件
  2. openpyxl:openpyxl 读取写入.xlsx文件

模块

.xls

.xlsx

读取

写入

修改

保存

样式

图片

xlrd

支持

不支持

支持

不支持

不支持

不支持

不支持

不支持

xlwt

支持

不支持

不支持

支持

不支持

支持

支持

支持

xlutils

支持

不支持

不支持

支持

支持

支持

不支持

不支持

xlwings

支持

支持

支持

支持

支持

支持

支持

支持

openpyxl

不支持

支持

支持

支持

支持

支持

支持

支持

pandas

支持

支持

支持

支持

不支持

支持

不支持

不支持

一、安装

pip install xlwt

二、向xls文件中写入内容

import xlwt
#创建一个workbook对象,就相当于创建了一个Excel文件
workbook = xlwt.Workbook(encoding='utf-8',style_compression=0) #encoding:设置编码,可写中文;style_compression:是否压缩
# 创建一个sheet对象,相当于创建一个sheet页
worksheet = workbook.add_sheet('这是sheet1',cell_overwrite_ok=True) # cell_overwrite_ok:是否可以覆盖单元格,默认为False
# 向sheet页中添加数据:worksheet.write(行,列,值)
style = xlwt.XFStyle()# 初始化样式
worksheet.write(0,0,'我要发财啦',style)  # 第1行第1列写入数据,style:样式
# 将以上内容保存到指定的文件中
workbook.save('测试文件.xls')

三、设置样式

style = xlwt.XFStyle()# 初始化样式
font = xlwt.Font()# 设置字体样式(font)
pattern = xlwt.Pattern() #背景颜色设置
  1. 字体样式
font.name = '宋'   # 指定字体
font.height = 300   # 和excel字体大小比例是1:20
font.bold = True    # 字体是否加粗
font.underline = True   # 字体是否下划线
font.struck_out = True  # 字体是否有横线
font.italic = True  # 是否斜体字

#0x01
#0x02
#0x03
#0x04
#0x05
font.family=0x01

#xlwt.Font.CHARSET_ANSI_LATIN = 0x00C
#xlwt.Font.HARSET_SYS_DEFAULT= 0x01C
#xlwt.Font.HARSET_SYMBOL= 0x02
#xlwt.Font.CHARSET_APPLE_ROMAN= 0x4D
#xlwt.Font.CHARSET_ANSI_JAP_SHIFT_JIS= 0x80C
#xlwt.Font.HARSET_ANSI_KOR_HANGUL= 0x81
#xlwt.Font.CHARSET_ANSI_KOR_JOHAB= 0x82
#xlwt.Font.CHARSET_ANSI_CHINESE_GBK= 0x86
#xlwt.Font.CHARSET_ANSI_CHINESE_BIG5= 0x88
#xlwt.Font.CHARSET_ANSI_GREEK= 0xA1
#xlwt.Font.CHARSET_ANSI_TURKISH= 0xA2
#xlwt.Font.CHARSET_ANSI_VIETNAMESE= 0xA3
#xlwt.Font.CHARSET_ANSI_HEBREW= 0xB1
#xlwt.Font.CHARSET_ANSI_ARABIC= 0xB2
#xlwt.Font.CHARSET_ANSI_BALTIC= 0xBA
#xlwt.Font.CHARSET_ANSI_CYRILLIC= 0xCC
#xlwt.Font.CHARSET_ANSI_THAI= 0xDE
#xlwt.Font.CHARSET_ANSI_LATIN_II= 0xEE
#xlwt.Font.CHARSET_OEM_LATIN_I= 0xFF
font.charset = 0x86 #设置字符集

#可参考中的数值xlwt.Style.colour_map,colour_map属性返回一个字典,里面有颜色对应的序号font.colour_index =xlwt.Style.colour_map['blue']
font.colour_index = 4   # 字体颜色

# xlwt.Font.ESCAPEMENT_SUBSCRIPT 设置字体悬空位于下方
# xlwt.Font.ESCAPEMENT_SUPERSCRIPT 设置字体悬空位于上方
# xlwt.Font.ESCAPEMENT_NONE 设置字体没有这个效果
font.escapement= =xlwt.Font.ESCAPEMENT_SUPERSCRIPT

font.num_format_str = '#,##0.00' # 设置文字模式

style.font = font   # 设定字体样式
  1. 背景颜色设置
pattern = xlwt.Pattern()  
# 创建模式对象

#xlwt.Pattern.SOLID_PATTERN= 0x01 设置模式为实型
#xlwt.Pattern.NO_PATTERN= 0x00 设置模式为无模式
pattern.pattern = xlwt.Pattern.SOLID_PATTERN  # 设置背景颜色模式

#可参考中的数值xlwt.Style.colour_map,colour_map属性返回一个字典,里面有颜色对应的序号pattern.pattern_fore_colour =xlwt.Style.colour_map['blue']
pattern.pattern_fore_colour = 3  # 前景色不会影响单元格的边框
pattern.pattern_back_colour = 0x41 # 后景会影响单元格的边框

style.pattern = pattern # 设定背景图案样式
# 设置背景色
xlwt.add_palette_colour("custom_colour", 0x21)
workbook.set_colour_RGB(0x21, 219, 229, 241)
  1. 边框设置
borders = xlwt.Borders()
borderinfo = borders._search_key() #可以设置的属性
prit(borderinfo)
# 设定边框属性
# xlwt.Borders.NO_LINE = 0x00 无边框
# xlwt.Borders.THIN= 0x01 细实线
# xlwt.Borders.MEDIUM= 0x02 中实线
# xlwt.Borders.DASHED = 0x03中细虚线
# xlwt.Borders.DOTTED= 0x04 细虚线
# xlwt.Borders.THICK= 0x05 粗实线
# xlwt.Borders.DOUBLE0x06 双底线
# xlwt.Borders.HAIR= 0x07 细点虚线·
# xlwt.Borders.MEDIUM_DASHED= 0x08 粗虚线 
# xlwt.Borders.THIN_DASH_DOTTED= 0x09 细点划线
# xlwt.Borders.MEDIUM_DASH_DOTTED= 0x0A  粗点划线
# xlwt.Borders.THIN_DASH_DOT_DOTTED= 0x0B 细双点划线
# xlwt.Borders.MEDIUM_DASH_DOT_DOTTED= 0x0C 粗双点划线
# xlwt.Borders.SLANTED_MEDIUM_DASH_DOTTED= 0x0D 斜点划线
borders.left = xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN
#0x00到0x0D。
border.left_colour = 0x40
border.top_colour = 0x40
border.right_colour = 0x40
border.bottom_colour = 0x40

style.borders = borders
  1. 对齐方式设置(alignment)
alignment = xlwt.Alignment()
#xlwt.Alignment.VERT_TOP= 0x00 字体在单元格顶部
#xlwt.Alignment.VERT_CENTER= 0x01  字体垂直居中
#xlwt.Alignment.VERT_BOTTOM= 0x02  字体在单元格底部
#xlwt.Alignment.VERT_JUSTIFIED= 0x03 在合理的位置显示
#xlwt.Alignment.VERT_DISTRIBUTED= 0x04 有垂直居中的效果,如果字体超过单元格范围会垂直分布显示
alignment.vert = 0x01 #字体垂直位置

#xlwt.Alignment.HORZ_GENERAL = 0x00  正常显示
#xlwt.Alignment.HORZ_LEFT=0x01 左对齐
#xlwt.Alignment.HORZ_CENTER= 0x02 居中
#xlwt.Alignment.HORZ_RIGHT=0x03  右对齐
#xlwt.Alignment.HORZ_FILLED=0x04  填充单元格
#xlwt.Alignment.HORZ_JUSTIFIED=0x05  显示在合理的位置
#xlwt.Alignment.HORZ_CENTER_ACROSS_SEL=0x06 我觉得这个应该是显示在单元格的正当中
#xlwt.Alignment.HORZ_DISTRIBUTED=0x07 汉字时字体是水平 平均分布在表格中,如果是英文字母则是水平居中显示
alignment.horz = 0x03 #字体水平位置

#xlwt.Alignment.DIRECTION_GENERAL= 0x00  # BIFF8X  正常显示
#xlwt.Alignment.DIRECTION_LR= 0x01
#xlwt.Alignment.DIRECTION_RL= 0x02
alignment.dire = 0x00  #字体方向

#xlwt.Alignment.ORIENTATION_NOT_ROTATED= 0x00
#xlwt.Alignment.ORIENTATION_STACKED= 0x01
#xlwt.Alignment.ORIENTATION_90_CC= 0x02
#xlwt.Alignment.ORIENTATION_90_CW = 0x03
alignment.orie= 0x00

#xlwt.Alignment.WRAP_AT_RIGHT = 0x01  # 自动换行
#xlwt.Alignment.NOT_WRAP_AT_RIGHT= 0x00  # 默认不自动换行
alignment.wrap = 0x01 # 自动换行

#xlwt.Alignment.SHRINK_TO_FIT = 0x01  # 将字体缩小到适合单元格大小
#xlwt.Alignment.NOT_SHRINK_TO_FIT = 0x00  # 默认正常显示
alignment.shri = 0x01 #自动缩进

#xlwt.Alignment.WRAP_AT_RIGHT = 0x01  # 自动换行
#xlwt.Alignment.NOT_WRAP_AT_RIGHT= 0x00  # 默认不自动换行
alignment.wrap = 0x01 #自动换行

alignment.rota = 2 #旋转方向,值为数字,表示旋转的角度
alignment.inde = 0
alignment.merg = 0

style.alignment = alignment
  1. 设置单元格宽度
worksheet.col(col_index).width = 256 * len(col_str) * 2  # 设置列宽,计算列宽度:256是单元格基数*用数据长度*2最终的结果单元格的宽度和数据正好填满。
  1. 设置行样式
tall_style = xlwt.easyxf('font:height 600')  # 设置行高
worksheet.row(row_index).set_style(tall_style)  # 给第一行设置tall_style样式,也就是行高
worksheet.row(row_index).height_mismatch = True
worksheet.row(row_index).height =20 * 30  #20是基数*30是行的高度

四、其他

  1. 将一个日期输入一个单元格
import datetime

#'general' # 默认是此选项,常规显示。
#'0'
#'0.00'
#'#,##0',
#'#,##0.00
#'"#34;#,##0_);("#34;#,##0)'
#'"#34;#,##0_);[Red]("#34;#,##0)'
#'"#34;#,##0.00_);("#34;#,##0.00)'
#'"#34;#,##0.00_);[Red]("#34;#,##0.00)'
#'0%'
#'0.00%'
#'0.00E+00'
#'# ?/?'
#'# ??/??'
#'M/D/YY'
#'D-MMM-YY'
#'D-MMM'
#'MMM-YY'
#'h:mm AM/PM'
#'h:mm:ss AM/PM'
#'h:mm'
#'h:mm:ss'
#'M/D/YY h:mm'
#'_(#,##0_);(#,##0)'
#'_(#,##0_);[Red](#,##0)'
#'_(#,##0.00_);(#,##0.00)'
#'_(#,##0.00_);[Red](#,##0.00)'
#'_("#34;* #,##0_);_("#34;* (#,##0);_("#34;* "-"_);_(@_)'
#'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)'
#'_("#34;* #,##0.00_);_("#34;* (#,##0.00);_("#34;* "-"??_);_(@_)'
#'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)'
#'mm:ss'
#'[h]:mm:ss'
#'mm:ss.0'
#'##0.0E+0'
#'@'
style.num_format_str = 'M/D/YY'

worksheet.write(0, 0, datetime.date.today(), style)

#时间类型的转换,把excel中时间转成python 时间(两种方式)
xlrd.xldate_as_tuple(table.cell(2,2).value, 0)   #转化为元组形式
xlrd.xldate.xldate_as_datetime(table.cell(2,2).value, 1)   #直接转化为datetime对象
xlrd.xldate_as_tuple(d,0) #d 是从excel中读取出来的浮点数
  1. 添加一个公式
worksheet.write(0,2,xlwt.Formula('A1 * B1'),style)# 求乘积
worksheet.write(0,2,xlwt.Formula('SUM(A1:A3)'),style)# 求和函数
worksheet.write(0,2, xlwt.Formula('AVERAGE(C1:C3)'),style)# 求平均数
  1. 单元格中添加超链接
worksheet.write(0, 0, xlwt.Formula('HYPERLINK("https://www.baidu.com";"百度")'),style))
  1. 合并列和行
worksheet.write_merge(8, 10, 2, 4, '合并单元格', style)
  1. 插入图片
worksheet.insert_bitmap("mm.bmp",0,0)
  1. 数据保护,设置单元格数据保护之后,数据只能查看不能修改和编辑
protection = xlwt.Protection()
protection.cell_locked = 1  # 设置单元格锁定
protection.formula_hidden = 1  # 设定隐藏单元格内公式
worksheet.set_protect(1)  # 只有在st表设置为保护时才有效
  1. 颜色映射
xlwt.Style.colour_map.aqua=0x31
xlwt.Style.colour_map.black=0x08
xlwt.Style.colour_map.blu=0x0C
xlwt.Style.colour_map.blue_gray=0x36
xlwt.Style.colour_map.bright_green=0x0B
xlwt.Style.colour_map.brow=0x3C
xlwt.Style.colour_map.coral=0x1D
xlwt.Style.colour_map.cyan_ega=0x0F
xlwt.Style.colour_map.dark_blue=0x12
xlwt.Style.colour_map.dark_blue_ega=0x12
xlwt.Style.colour_map.dark_green=0x3A
xlwt.Style.colour_map.dark_green_ega=0x11
xlwt.Style.colour_map.dark_purple=0x1C
xlwt.Style.colour_map.dark_red=0x10
xlwt.Style.colour_map.dark_red_ega=0x10
xlwt.Style.colour_map.dark_teal=0x38
xlwt.Style.colour_map.dark_yellow=0x13
xlwt.Style.colour_map.gold=0x33
xlwt.Style.colour_map.gray_ega=0x17
xlwt.Style.colour_map.gray25=0x16
xlwt.Style.colour_map.gray40=0x37
xlwt.Style.colour_map.gray50=0x17
xlwt.Style.colour_map.gray80=0x3F
xlwt.Style.colour_map.green=0x11
xlwt.Style.colour_map.ice_blue=0x1F
xlwt.Style.colour_map.indigo=0x3E
xlwt.Style.colour_map.ivory=0x1A
xlwt.Style.colour_map.lavender=0x2E
xlwt.Style.colour_map.light_blue=0x30
xlwt.Style.colour_map.light_green=0x2A
xlwt.Style.colour_map.light_orange=0x34
xlwt.Style.colour_map.light_turquoise=0x29
xlwt.Style.colour_map.light_yellow=0x2B
xlwt.Style.colour_map.lime=0x32
xlwt.Style.colour_map.magenta_ega=0x0E
xlwt.Style.colour_map.ocean_blue=0x1E
xlwt.Style.colour_map.olive_ega=0x13
xlwt.Style.colour_map.olive_green=0x3B
xlwt.Style.colour_map.orange=0x35
xlwt.Style.colour_map.pale_blue=0x2C
xlwt.Style.colour_map.periwinkle=0x18
xlwt.Style.colour_map.pink=0x0E
xlwt.Style.colour_map.plum=0x3D
xlwt.Style.colour_map.purple_ega=0x14
xlwt.Style.colour_map.red=0x0A
xlwt.Style.colour_map.rose=0x2D
xlwt.Style.colour_map.sea_green=0x39
xlwt.Style.colour_map.silver_ega=0x16
xlwt.Style.colour_map.sky_blue=0x28
xlwt.Style.colour_map.tan=0x2F
xlwt.Style.colour_map.teal=0x15
xlwt.Style.colour_map.teal_eg=0x15
xlwt.Style.colour_map.turquoise=0x0F
xlwt.Style.colour_map.violet=0x14
xlwt.Style.colour_map.white=0x09
xlwt.Style.colour_map.yellow=0x0D

相关推荐

电信宽带办理电话是多少(电信宽带办理联系电话)

电信宽带不一定需要电信手机号码,可以根据自身需要选择,有单独的宽带业务,一般要求预存一定时间的使用费。不过一般包含了宽带、手机号码的融合套餐总体上更优惠,对客户来说更划算。如果有相应需求的话,建议同时...

开机进入ghost启动项(电脑启动进入ghost)

电脑启动的时候进入GHOST界面方法:  1、首先确认电脑装了GHOST软件。  2、重启电脑,注意仔细观察电脑屏幕,会有一个3s或者10s的选择界面。让选择是进入GHOST界面,或者正常启动进入系...

华硕bios修复蓝屏图解(华硕bios修复蓝屏视频教程)

先看下BIOS是否可以识别到硬盘设备,若看不到,硬盘故障的可能性很大。若可以看到硬盘,建议先尝试进行BIOS兼容性设置:1,在BIOS界面,通过方向键进【Secure】菜单,通过方向键选择【Sec...

老电脑怎么装win7系统(老电脑装win7系统可以吗)

6年前的电脑,如果是用的当时最新的CPU的话,应该是第7代或者第6代酷睿等级的。运行windows7和windows10都应该没有压力。从软件的兼容性来说,还是建议安装windows10,因为现在有好...

电脑怎么设置到点自动关机(电脑怎样设置到点关机)

1、首先我们点击电脑屏幕左下角的开始按钮,在所有程序里依次选择附件---系统工具,接着打开任务计划程序。2、我们打开任务计划程序后,在最右边的操作框里选择创建基本任务,然后在创建基本任务对话框的名称一...

2025年笔记本电脑排行榜(20201年笔记本电脑推荐)

2023华为笔记本电脑matebook16系列很好用的。因为这个系列她是有非常好的性价,比的是能够让你有非常轻薄的厚度,并且能够有11.6寸的屏幕,而且还有120赫兹的刷新率作为大学生,您可能需要经常...

powerpoint激活密钥(ppt密钥 激活码2010)

1/4进入文件打开一个PPT文件进入到软件界面,在界面左上方找到文件选项,点击该选项进入到文件页面。2/4点击账户文件页面中,页面左侧找到账户选项,点击该选项,页面右侧会出现相应的操作选择。3/4点击...

水星usb无线网卡驱动下载(水星usb无线网卡驱动下载安装)
  • 水星usb无线网卡驱动下载(水星usb无线网卡驱动下载安装)
  • 水星usb无线网卡驱动下载(水星usb无线网卡驱动下载安装)
  • 水星usb无线网卡驱动下载(水星usb无线网卡驱动下载安装)
  • 水星usb无线网卡驱动下载(水星usb无线网卡驱动下载安装)
qq恢复删除好友官网(qq恢复已删好友)
qq恢复删除好友官网(qq恢复已删好友)

qq恢复官方网站,http://huifu.qq.com/1、什么是QQ恢复系统?QQ恢复系统是腾讯公司提供的一项找回QQ联系人、QQ群的服务,向所有QQ用户免费开放。2、QQ恢复系统能恢复多长时间内删除的好友?普通用户可以申请恢复3个月内...

2025-12-28 16:03 off999

优启通u盘重装win7系统教程(优启通u盘装win7系统教程图解)

系统显示未找到万能驱动的解决方法是:1、重插下usb口1、造成“找不到驱动器设备驱动程序”的原因,可能是usb口出现问题。2、换个usb口可能是单独这个usb口出现问题,可以选择另外的usb口重试wi...

笔记本mac地址在哪看(笔记本电脑mac地址怎么查询)
  • 笔记本mac地址在哪看(笔记本电脑mac地址怎么查询)
  • 笔记本mac地址在哪看(笔记本电脑mac地址怎么查询)
  • 笔记本mac地址在哪看(笔记本电脑mac地址怎么查询)
  • 笔记本mac地址在哪看(笔记本电脑mac地址怎么查询)
wifi加密方式怎么设置(wifi网络加密怎么设置)

若你想将自己的无线网改成加密的,可以按照以下步骤操作:1.打开你的路由器管理界面。一般来说,在浏览器地址栏输入“192.168.1.1”或“192.168.0.1”,然后输入用户名和密码登录就可以打...

sql数据库自学(数据库入门必看——《sql基础教程》)

SQLServer数据库基础知识:1.数据库是由数据组成的,这些数据可以被组织成有序的数据结构,以支持特定的应用程序。2.数据库管理系统(DBMS)是一种软件工具,用于创建、管理和操作数据库。...

无线网连接不可上网怎么回事

可能有几下几方面原因:1、无线路由器网络参数设置错误,无法拨通ISP运营商的局端设备,无法接入互联网;2、宽带线路出现故障,路由器无法拨通ISP运营商的局端设备,无法连通;3、宽带DNS服务器由于某种...

电脑蓝屏重新启动(电脑蓝屏重新启动快捷键)
  • 电脑蓝屏重新启动(电脑蓝屏重新启动快捷键)
  • 电脑蓝屏重新启动(电脑蓝屏重新启动快捷键)
  • 电脑蓝屏重新启动(电脑蓝屏重新启动快捷键)
  • 电脑蓝屏重新启动(电脑蓝屏重新启动快捷键)

取消回复欢迎 发表评论: