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

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

off999 2024-10-08 06:16 43 浏览 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

相关推荐

安全教育登录入口平台(安全教育登录入口平台官网)

122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...

大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)

大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...

谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)

要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...

2026-02-04 09:03 off999

电信宽带测速官网入口(电信宽带测速官网入口app)

这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...

植物大战僵尸95版手机下载(植物大战僵尸95 版下载)

1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...

免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)

1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...

2025世界杯赛程表(2025世界杯在哪个国家)

2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...

下载搜狐视频电视剧(搜狐电视剧下载安装)

搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...

pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
永久免费听歌网站(丫丫音乐网)

可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...

音乐格式转换mp3软件(音乐格式转换器免费版)

有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...

电子书txt下载(免费的最全的小说阅读器)

1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...

最好免费观看高清电影(播放免费的最好看的电影)

在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...

孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)

要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...

取消回复欢迎 发表评论: