zoukankan      html  css  js  c++  java
  • python处理Excel

    1,xlrd

    xlrd是用来从Excel中读写数据的,但我平常只用它进行读操作,写操作会遇到些问题。用xlrd进行读取比较方便,流程和平常手动操作Excel一样,打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell)。

     1 import xlrd
     2 
     3 data = xlrd.open_workbook('text.xls','rb')
     4 print('工作表名为:'+ data.sheet_names()[0])
     5 table = data.sheets()[0]
     6 nrows = table.nrows
     7 ncols = table.ncols
     8 print('表格行数为%d,列数为%d'%(nrows,ncols))
     9 
    10 #输出每一行的值
    11 for item in range(table.nrows):
    12     print(table.row_values(item))
    13 
    14 #获取单元格的值
    15 cell_A1 = table.row(0)[0].value
    16 cell_A2 = table.cell(0,0).value
    17 cell_A3 = table.col(0)[0].value
    18 
    19 print(cell_A1)
    20 print(cell_A2)
    21 print(cell_A3)

    2,xlwt

    如果说xlrd不是一个单纯的Reader(如果把xlrd中的后两个字符看成Reader,那么xlwt后两个字符类似看成Writer),那么xlwt就是一个纯粹的Writer了,因为它只能对Excel进行写操作。xlwt和xlrd不光名字像,连很多函数和操作格式也是完全相同。下面简要归纳一下常用操作

     1 import xlwt
     2 
     3 data = xlwt.Workbook()
     4 #新建工作表,可对同一个单元格重复操作
     5 table = data.add_sheet('hello', cell_overwrite_ok=True)
     6 #写入数据到A1单元格
     7 table.write(0,0,'hello world')
     8 #保存文件,不支持xlsx格式
     9 data.save('test2.xls')
    10 
    11 #初始化样式
    12 style = xlwt.XFStyle()
    13 #创建字体
    14 font = xlwt.Font()
    15 #指定字体名字
    16 font.name = 'Times New Roman'
    17 #字体加粗
    18 font.bold = True
    19 #将该font设定为style的字体
    20 style.font = font
    21 
    22 #写入到文件时使用该样式
    23 table.write(0,1,'ni hao', style)
    24 #修改完要再一次保存
    25 data.save('test2.xls')

     由于设置单元格的背景颜色很有限,所以可以采用add_palette_colour() and set_colour_RGB()

     1 import xlwt
     2 
     4 book = xlwt.Workbook()
     5 
     6 # add new colour to palette and set RGB colour value
     7 xlwt.add_palette_colour("custom_colour", 0x21)
     8 book.set_colour_RGB(0x21, 251, 228, 228)
     9 
    10 # now you can use the colour in styles
    11 sheet1 = book.add_sheet('Sheet 1')
    12 style = xlwt.easyxf('pattern: pattern solid, fore_colour custom_colour')
    13 sheet1.write(0, 0, 'Some text', style)
    14 
    15 book.save('test.xls')
  • 相关阅读:
    什么是PV UV PR值
    手工测试了各个搜索引擎对博客文章的收录
    Linux 常用命令
    部分linux命令详解
    左右滑屏的实现
    网络资源下载时断点续传的实现
    MYSQL5.5.37win32.msi 这个版本得程序包谁有吗 可以给我一下吗?
    Linux(CentOS6.5) 开放端口,配置防火墙
    centos7 下出现 yum list 报错 还有yum groupolist 查询软件组列表报错
    linux命令(1):ls命令
  • 原文地址:https://www.cnblogs.com/dalanjing/p/7078568.html
Copyright © 2011-2022 走看看