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. split-array-largest-sum(参考了discuss)

    注意,第一种用法,涉及到一些Java的知识.就是采用Object作为HashMap的key的时候,需要重载这个Class的 equals 和 hashCode 这两个方法.其中equals需要判断一下 ...

  2. 【转载】秒杀场景下MySQL的低效原因和改进以及Redis的处理

    分享的PPT在如下网址: http://www.doc88.com/p-4199037770087.html 秒杀场景下mysql的低效原因和改进 另外有一个篇文章是针对以上内容的总结: http:/ ...

  3. liunx修改字体为宋体

    有找到修改Linux默认字体的方法sudo vi /etc/fonts/conf.d/69-language-selector-zh-cn.conf修改下sans-serif相关设定    <m ...

  4. android获取周围AP信息(上)

    1.增加权限: 由于此应用需要获取手机的网络信息,wifi信息,因此需要在AndroidManifest.xml文件中添加相关权限,否则会报permission deny错误: 1 <uses- ...

  5. Linux中crontab无法执行java程序的问题

    Linux中crontab无法执行java程序的问题 jdk环境变量配置问题:可以用全路径来解决: 竟然是kill -9之后,后面的脚本都不运行,这个还没有找到原因啊: 即便是系统级别的 ls 命令, ...

  6. tasklist、taskkill、taskmgr

    1.tasklist 列出所有的进程,使用tasklist |findstr xxx , 选取进程 2.taskkill  杀掉进程,使用 taskkill /f /pid 1235 3.taskmg ...

  7. 如何获取浏览器URL中查询字符串的参数?

    如何获取浏览器URL中查询字符串的参数? 想要知道怎样解决这个问题,首先我们先认识一下Location对象. Location对象包含了当前页面与位置(url)相关的信息 URL示例:http://w ...

  8. DOSbox汇编集成环境下的具体设置

    alt+enter能够全屏幕,假设认为游戏执行速度不合适,能够改动 cycles=3000 适当调整大小. .执行 DOSBox,会打开两个 DOS 窗体.我们仅仅需在例如以下窗体中键入 mount ...

  9. 如何使用angularjs操作cookie

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  10. T-SQL 之 公用表表达式(CTE)

    在编写T-SQL代码时,往往需要临时存储某些结果集.在CTE之前常用的两种临时存储结果集为:临时表和表变量.除此之外,还可以使用公用表表达式的方法. 公用表表达式(Common Table Expre ...