python模块:xlsxwriter和xlrd相结合读取、写入excel文件
python模块简单说明:
xlsxwriter:负责写入数据
xlrd:负责读取数据
xlsxwriter 官方文档:http://xlsxwriter.readthedocs.org
本实例是刚写出来的,目前比较粗糙。
写这实例主要是结合平时工作内容,把手动操作改成自动化。
平时线上更新游戏版本号后,需要把版本号记录到一个excel文件中,每次更新都要修改,比较蛋疼,虽然版本号在数据库中也有存在,但还是要往excel记录一份。
这些代码目前只是测试代码,从原excel中读取所有内容,然后修改,再重成新的excel(其实我代码中并没有修改,只是把内容读出来,再写回去,唯一的就是做了些表格属性设定吧,其实我放到运维工具上后,就会结合平台,及数据库,去修改要修改的数据)。
- #coding=utf-8
- #/usr/bin/env python
- import xlsxwriter,xlrd
- import sys,os.path
- fname = 'zm6.xlsx'
- if not os.path.isfile(fname):
- print u'文件路径不存在'
- sys.exit()
- data = xlrd.open_workbook(fname) # 打开fname文件
- data.sheet_names() # 获取xls文件中所有sheet的名称
- table = data.sheet_by_index(0) # 通过索引获取xls文件第0个sheet
- nrows = table.nrows # 获取table工作表总行数
- ncols = table.ncols # 获取table工作表总列数
- workbook = xlsxwriter.Workbook('zm6.xlsx') #创建一个excel文件
- worksheet = workbook.add_worksheet() #创建一个工作表对象
- worksheet.set_column(0,ncols,22) #设定列的宽度为22像素
- #border:边框,align:对齐方式,bg_color:背景颜色,font_size:字体大小,bold:字体加粗
- top = workbook.add_format({'border':1,'align':'center','bg_color':'cccccc','font_size':13,'bold':True})
- green = workbook.add_format({'border':1,'align':'center','bg_color':'green','font_size':12})
- yellow = workbook.add_format({'border':1,'bg_color':'yellow','font_size':12})
- red = workbook.add_format({'border':1,'align':'center','bg_color':'red','font_size':12})
- blank = workbook.add_format({'border':1})
- for i in xrange(nrows):
- worksheet.set_row(i,22) #设定第i行单元格属性,高度为22像素,行索引从0开始
- for j in xrange(ncols):
- cell_value = table.cell_value(i,j,) #获取第i行中第j列的值
- if i == 0:
- format = top
- elif i == 3 or i == 6:
- format = blank
- else:
- if j == 0 or j == 2:
- format = yellow
- elif j == 1:
- format = red
- elif j == 3:
- format = green
- green.set_num_format('yyyy-mm-dd') #设置时间格式
- worksheet.write(i,j,cell_value,format) #把获取到的值写入文件对应的行列
- format.set_align('vcenter') #设置单元格垂直对齐
- workbook.close()
看完代码,再来看我修改之前,即原始的excel文件内容:

python xlsxwriter修改之前
读取内容后,新生成的excel文件内容:

python xlsxwriter修改之后
这些代码格式属性,是因为我特意根据原来的文件格式制定的,所以在代码中,能看到好几个if语句。
正因为这样,看到的前后图对比,很相像。
python模块:xlsxwriter和xlrd相结合读取、写入excel文件的更多相关文章
- python模块:xlsxwriter和xlrd相结合读取
python模块简单说明: xlsxwriter:负责写入数据 xlrd:负责读取数据 xlsxwriter 官方文档:http://xlsxwriter.readthedocs.org 本实例是刚写 ...
- POI读取/写入Excel文件
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
- Python xlrd xlwt 读取写入Excel.
import xlrd import xlwt #读取 xlrd.Book.encoding = "gbk" wb = xlrd.open_workbook(filename='s ...
- Python中使用第三方库xlrd来写入Excel文件示例
Python中使用第三方库xlrd来写入Excel文件示例 这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表 ...
- Python:将爬取的网页数据写入Excel文件中
Python:将爬取的网页数据写入Excel文件中 通过网络爬虫爬取信息后,我们一般是将内容存入txt文件或者数据库中,也可以写入Excel文件中,这里介绍关于使用Excel文件保存爬取到的网页数据的 ...
- python pandas写入excel文件
pandas读取.写入csv数据非常方便,但是有时希望通过excel画个简单的图表看一下数据质量.变化趋势并保存,这时候csv格式的数据就略显不便,因此尝试直接将数据写入excel文件. pandas ...
- python模块之imghdr(识别不同格式的图片文件)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之imghdr(识别不同格式的图片文件) import imghdr '''>> ...
- python第三方库——xlrd和xlwt操作Excel文件学习
python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt Downloadin ...
- java写入excel文件poi
java写入excel文件 java写入excel文件poi,支持xlsx与xls,没有文件自动创建 package com.utils; import java.io.File; import ja ...
随机推荐
- 【ASP.NET MVC系列】浅谈jqGrid 在ASP.NET MVC中增删改查
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- man nfsd(rpc.nfsd中文手册)
本人译作集合:http://www.cnblogs.com/f-ck-need-u/p/7048359.html rpc.nfsd() System Manager's Manual rpc.nfsd ...
- zepto 事件分析3(add函数)
在上一篇的分析中,最后$.on方法返回了一个add方法函数的执行,在这里先看一下其代码: function add(element, events, fn, data, selector, deleg ...
- 业务开发(一)—— MySQL
0x01.SQL异常Incorrect string value java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9 ...
- [转]MySQL 表锁和行锁机制
本文转自:http://www.cnblogs.com/itdragon/p/8194622.html MySQL 表锁和行锁机制 行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整 ...
- 建立多页面vue.js项目
介绍 根据需求,我们希望建立一个多页面的vue.js项目,如何改造单页面vue.js项目为多页面项目?跟着我的步伐看下去吧. 1.创建单页面vue.js项目 简单的记录一下创建步骤: --安装cnpm ...
- 第四讲 smart qq 获取联系人信息 ,分组 好友 群聊
首先从post一下 http://s.web2.qq.com/api/get_user_friends2 这个链接获取分组categories ,好友信息 friends,info. string ...
- Eclipse中提示svn: is already locked的解决办法
eclipse的svn提交不了,报错.提示 svn: is already locked 解决办法:右键项目-------Team------Refresh/Cleanup
- windows 上用 docker 部署aspnetcore 2.0
首先下载docker for windows 并且 安装. 这其中需要显卡支持虚拟化 windows系统升级到专业版 bois 启用虚拟 通过vs2017 创建一个net core ap ...
- firewall-cmd 常用命令
# 开启防火墙 systemctl start firewalld.service # 防火墙开机启动 systemctl enable firewalld.service # 关闭防火墙 syste ...