DayDayUP_Python自学教程[14]_python操作excel

参考链接:http://bookshadow.com/weblog/2014/10/19/python-xlwt-write-excel/?utm_source=tuicool&utm_medium=referral

感谢作者

安装包

如果需要使用Python写Excel文件,首先下载或者安装xlwt。

如果已经安装pip

pip install xlwt

未安装pip

# git clone https://github.com/python-excel/xlwt.git
# cd 解压目录
# python setup.py install

还是不行,来这下载吧:

下载吧。。。。

创建工作簿(workbook)和工作表(sheet):

import xlwt
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet Name") 

写单元格(cell):

sheet.write(0, 0, ‘foobar‘) # row, column, value

对单元格应用样式(加粗为例):

style = xlwt.easyxf(‘font: bold 1‘)
sheet.write(0, 0, ‘foobar‘, style)

设置列宽:

要设置列宽,你必须将宽度属性设为 256*NUM_CHARS,其中256等于0字符的宽度。

sheet.col(0).width = 256 * (len(key) + 1)
# set width 256 = 1 width of 0 character

对单元格应用多重样式:

需要注意每一个文档的样式应该限制在4k以内,这意味着你不应该为每一个单元格初始化一个样式,而是应该复用它们(阅读后面的内容可以看到一个简单的缓存解决方案)

style = xlwt.easyxf(‘font: bold 1, color red;‘))
sheet.write(0, 0, ‘foobar‘, style)

应用货币样式:

要设置货币,在easyxf函数里添加关键词参数num_format_str,或者在返回的样式对象里设置属性。

style = easyxf(num_format_str=‘$#,##0.00‘)
# or set it directly on the style object
style = easyxf(‘font: bold 1‘)
style.num_format_str = ‘$#,##0.00‘
sheet.write(0, 0, ‘100.00‘, style)

写Excel公式:

使用xlwt.Formula可以很容易地写Excel公式。

sheet.write(0, 0, xlwt.Formula(‘HYPERLINK("http://yujitomita.com"; "click me")‘))

保存:

workbook.save("foobar.xls")
# done!

使用陷阱(GOTCHAS):

下面是一些常见的使用陷阱的解决方案。

禁止覆盖单元格:

# to overwrite cells, create the sheet with kwarg cell_overwrite_ok
workbook.add_sheet(‘foobar‘, cell_overwrite_ok=True) 

有效的工作表命名:

工作表的名称必须小于31个字符

命名不应包含特殊字符,例如‘:’, ‘/’等

每文档4k样式限制:

如果你了解规则,应用单元格样式就是小菜一碟。

创建了一个缓存easyxf函数,它在创建一个新样式之前,首先会尝试从缓存中拉取一个已有的样式。

class MyClass(object):
  kwd_mark = object()
  def cached_easyxf(self, string=‘‘, **kwargs):
    if not hasattr(self, ‘_cached_easyxf‘):
      self._cached_easyxf = {}
    key = (string,) + (self.kwd_mark,) + tuple(sorted(kwargs.items()))
    return self._cached_easyxf.setdefault(key, xlwt.easyxf(string, **kwargs))

Easyxf 字符串格式:

接收一个空格分隔的键值对数组的字符串格式。

‘KEY: KEY-VALUE VALUE, KEY-VALUE VALUE; KEY2: KEY-VALUE2 VALUE2′

sheet.write(0, 0, xlwt.easyxf(‘font: bold 1‘)) # bold
sheet.write(0, 0, xlwt.easyxf(‘font: bold 1, color: blue, underline single‘))

还没有学习完,好困,睡觉了。。。

未完待续

时间: 2024-08-06 09:37:11

DayDayUP_Python自学教程[14]_python操作excel的相关文章

DayDayUP_Python自学教程[1]_Python基础知识

1 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型有以下几种: 1.1 整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较

DayDayUP_Python自学记录[13]_Python MySQL 交互

参考来源:菜鸟教程以及慕课网,如侵立删 参考链接: http://www.tuicool.com/articles/yqayEv http://www.runoob.com/python3/python3-mysql.html Python3 MySQL 数据库连接 准备 本文我们为大家介绍 Python3 使用 pymysql 连接数据库,并实现简单的增删改查. 什么是 pymysql? pymysql 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使

DayDayUP_Python自学教程[13]_网络编程

注意: 来源菜鸟教程,如有侵权,通知,立删 Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法. 高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发. 什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主

【web开发】☆★之利用POI操作Excel表格系列教程【8】设置单元格对其方式

[web开发]☆★之利用POI操作Excel表格系列教程[8]设置单元格对其方式 package csg.xiaoye.poidemo; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HS

【web开发】☆★之利用POI操作Excel表格系列教程【9】单元格边框处理

[web开发]☆★之利用POI操作Excel表格系列教程[9]单元格边框处理 package csg.xiaoye.poidemo; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.a

【web开发】☆★之利用POI操作Excel表格系列教程【10】单元格填充色和颜色操作

[web开发]☆★之利用POI操作Excel表格系列教程[10]单元格填充色和颜色操作 package csg.xiaoye.poidemo; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import

【web开发】☆★之利用POI操作Excel表格系列教程【11】单元格合并

[web开发]☆★之利用POI操作Excel表格系列教程[11]单元格合并 package csg.xiaoye.poidemo; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.p

POI操作Excel(xls、xlsx)

阿帕奇官网:http://poi.apache.org/ POI3.17下载:http://poi.apache.org/download.html#POI-3.17 POI操作Excel教程(易百教程):https://www.yiibai.com/apache_poi/ 1.数据库连接:https://www.cnblogs.com/feipengting/p/7606042.html 1 package com.gdin.util; 2 3 import java.io.InputStre

POI组件:POI操作Excel

1.Excel简介 一个excel文件就是一个工作簿workbook,一个工作簿中可以创建多张工作表sheet,而一个工作表中包含多个单元格Cell,这些单元格都是由列(Column)行(Row)组成,列用大写英文字母表示,从A开始到Z共26列,然后再从AA到AZ又26列,再从BA到BZ再26列以此类推.行则使用数字表示,例如:A3 表示第三行第一列,E5表示第五行第五列. 2.POI工具包 POI全称 Poor Obfuscation Implementation,直译为"可怜的模糊实现&qu