python模块简单说明:

xlsxwriter:负责写入数据

xlrd:负责读取数据

xlsxwriter 官方文档:http://xlsxwriter.readthedocs.org

本实例是刚写出来的,目前比较粗糙。

写这实例主要是结合平时工作内容,把手动操作改成自动化。

平时线上更新游戏版本号后,需要把版本号记录到一个excel文件中,每次更新都要修改,比较蛋疼,虽然版本号在数据库中也有存在,但还是要往excel记录一份。

这些代码目前只是测试代码,从原excel中读取所有内容,然后修改,再重成新的excel(其实我代码中并没有修改,只是把内容读出来,再写回去,唯一的就是做了些表格属性设定吧,其实我放到运维工具上后,就会结合平台,及数据库,去修改要修改的数据)。

  1. #coding=utf-8
  2. #/usr/bin/env python
  3. import xlsxwriter,xlrd
  4. import sys,os.path
  5. fname = 'zm6.xlsx'
  6. if not os.path.isfile(fname):
  7. print u'文件路径不存在'
  8. sys.exit()
  9. data = xlrd.open_workbook(fname)            # 打开fname文件
  10. data.sheet_names()                          # 获取xls文件中所有sheet的名称
  11. table = data.sheet_by_index(0)              # 通过索引获取xls文件第0个sheet
  12. nrows = table.nrows                         # 获取table工作表总行数
  13. ncols = table.ncols                         # 获取table工作表总列数
  14. workbook = xlsxwriter.Workbook('zm6.xlsx')  #创建一个excel文件
  15. worksheet = workbook.add_worksheet()        #创建一个工作表对象
  16. worksheet.set_column(0,ncols,22)            #设定列的宽度为22像素
  17. #border:边框,align:对齐方式,bg_color:背景颜色,font_size:字体大小,bold:字体加粗
  18. top = workbook.add_format({'border':1,'align':'center','bg_color':'cccccc','font_size':13,'bold':True})
  19. green = workbook.add_format({'border':1,'align':'center','bg_color':'green','font_size':12})
  20. yellow = workbook.add_format({'border':1,'bg_color':'yellow','font_size':12})
  21. red = workbook.add_format({'border':1,'align':'center','bg_color':'red','font_size':12})
  22. blank = workbook.add_format({'border':1})
  23. for i in xrange(nrows):
  24. worksheet.set_row(i,22)                 #设定第i行单元格属性,高度为22像素,行索引从0开始
  25. for j in  xrange(ncols):
  26. cell_value = table.cell_value(i,j,) #获取第i行中第j列的值
  27. if i == 0:
  28. format = top
  29. elif i == 3 or i == 6:
  30. format = blank
  31. else:
  32. if j == 0 or j == 2:
  33. format = yellow
  34. elif j == 1:
  35. format = red
  36. elif j == 3:
  37. format = green
  38. green.set_num_format('yyyy-mm-dd')  #设置时间格式
  39. worksheet.write(i,j,cell_value,format)      #把获取到的值写入文件对应的行列
  40. format.set_align('vcenter')                 #设置单元格垂直对齐
  41. workbook.close()

看完代码,再来看我修改之前,即原始的excel文件内容:

xlsxwrite 详解http://www.cnblogs.com/zknublx/p/7608039.html

python模块:xlsxwriter和xlrd相结合读取的更多相关文章

  1. python模块:xlsxwriter和xlrd相结合读取、写入excel文件

    python模块简单说明: xlsxwriter:负责写入数据 xlrd:负责读取数据 xlsxwriter 官方文档:http://xlsxwriter.readthedocs.org 本实例是刚写 ...

  2. Python模块学习之xlrd、xlutils、openpyxl 读写/追加Excel文件

    Python操作Excel的四个工具包 xlrd: 对Excel进行读相关操作,注意只能操作 .xls xlwt: 对Excel进行写相关操作,注意只能操作 .xls,且只能创建一个全新的Excel然 ...

  3. Python模块学习之xlrd 读取Excel时传入formatting_info=True报错:NotImplementedError: formatting_info=True not yet implemented

    问题:xlrd读取Excel时传入 formatting_info=True 报错 之前我们使用读取xls文件的时候都是使用的xlrd库,但是这个库只能操作 .xls格式,对于后来的 .xlsx的版本 ...

  4. Python模块 (xlsxwriter)

    xlsxwriter是python中用来处理execl表格的库 参考

  5. 【原创】python+selenium,用xlrd,读取excel数据,执行测试用例

    # -*- coding: utf-8 -*- import unittest import time from selenium import webdriver import xlrd,xlwt ...

  6. python通过xlsxwriter模块将文字写入xlsx文件

    #今天和大家一起学习通过python的xlsxwriter模块 xlsxwriter模块主要用来生成excel表格,插入数据.插入图标等表格操作等. 环境:python 3 1)安装 xlsxwrit ...

  7. Python模块之: ConfigParser 配置文件读取

    Python模块之: ConfigParser 配置文件读取   ConfigParser用于读写类似INI文件的配置文件,配置文件的内容可组织为组,还支持多个选项值(option-value)类型. ...

  8. python运维开发常用模块(8)EXCEL操作模块XlsxWriter

    1.excel介绍 Excel是当今最流行的电子表格处理软件,支持丰富的计算函数及 图表,在系统运营方面广泛用于运营数据报表,比如业务质量.资源利 用.安全扫描等报表,同时也是应用系统常见的文件导出格 ...

  9. python(xlsxwriter模块使用)

    XlsxWriter简介XlsxWriter是一个Python模块,可用于在Excel 2007+ XLSX文件中写入多个工作表的文本,数字,公式和超链接.它支持格式化等功能.可到官网了解更多详情,官 ...

随机推荐

  1. C++对象赋值的四种方式

    1.  引用作为参数的方式传递. GetObject(Object& obj) { obj.value = value1; } 特点: 在外部构造一个对象. 把该对象以引用的方式传递到函数中. ...

  2. Hydra 无法爆破SSH 解决办法

    今天测试ssh爆破,发现使用hydra有些问题,windows版本没有协议支持其他的貌似都可以,kali本身也有hydra环境但是也会出现问题,所以就搜了一些资料贴在这里,当然这也是我测试过的,重新编 ...

  3. 附1 consul常用命令+常用选项

    之后每用到一个command或options,都会记录在这里. 常用命令command: agent 作用:运行一个consul agent join 作用:将agent加入到consul clust ...

  4. go语言基础之不定参数的传递

    1.不定参数的传递 示例1: package main //必须有一个main包 import "fmt" func myfunc(tmp ...int) { for _, dat ...

  5. C#连接SQL Server数据库进行简单操作[转]

    环境:VS2010 + SqlServer 2008 首先,按照面向对象的程序设计思想,设计一个数据库操作工具类MyTool.cs,该类中封装了关于数据库连接和操作的方法,各个功能模块在需进行数据库操 ...

  6. vue项目中使用mockjs模拟接口返回数据

    Mock.js 是一个模拟数据生成器,利用它,可以拦截ajax请求,直接模拟返回数据,这样前后端只要约定好数据格式,前端就不需要依赖后端的接口,可以直接使用模拟的数据了. 网上介绍mock的教程也较多 ...

  7. sscanf %*s

    一次在源码里看到 %*s 的格式,从未见过百思不得其解,今天用google的code搜索,搜到一些使用范例,猜测%*s 是说这里有一些字符,长度不一定,按正则表达式的习惯,*代办任意非负整数.例如: ...

  8. PyDev:warning: Debugger speedups using cython not foun

    在eclipse下调试代码开始时总提示一个警告: warning: Debugger speedups using cython not found. Run '"C:\Python36\p ...

  9. GDALOpen 代码分析

    先来一句话,看了这么多GDAL的源代码,并不喜欢其C风格的烙印太重,还是更喜欢boost风格的简洁的现代C++风格.不过为了更好地应用GDAL,更深的定制它,还是需要将源代码看到底.因为GDAL毕竟是 ...

  10. [Angular] Angular Elements Intro

    Make sure install the latest Angular v6 with Angular CLI. Checkout ght Github for the code. 1. Creat ...