xlrd,xlwt操作Excel实例
把有合并单元格的信息读取出来,输出所在层数与位置
我要操作的Excel是这样的

要的到的是这样的效果
# -*- coding: utf-8 -*-
import xlrd
import xlwt
r=1
# shxrange = range(bk.nsheets)
wb = xlwt.Workbook(encoding='utf-8')#创建工作簿,设置字符编码
ws = wb.add_sheet('A TEST Sheet')#创建sheet
goods = xlrd.open_workbook('test3.xlsx')#打开文件
index = 0
for sheet_index in range(goods.nsheets):
	sh = goods.sheet_by_index(sheet_index)#返回第几页的对象
	#添加内容到row_list当中
	row_list = []
	for rx in range(sh.nrows):
		if sh.row(rx)[0].ctype:
			print sh.row(rx)
			row_list.append(sh.row_values(rx))
	# 取出有多少行
	row = len(row_list)
	# print row
	for r in range(row):
		weizhi =1
		for c in range(len(row_list[r])):
			if row_list[r][c]:
				ws.write(index, 0, row_list[r][c])
				ws.write(index,3,row)
				ws.write(index,4,weizhi)
				index = index + 1
		row =row-1
wb.save('example3.xls')
需要这样操作的数据有很多,就要分为多个sheet页,每个sheet页包含一个要操作的数据,这样的话就可以把每个sheet页重新数层数,如果不需要也可以写在一个sheet页当中,要批量处理就分多个sheet页
要处理的数据和上面差不多,不过稍微麻烦一点
要处理的数据分为两个sheet页
sheet页1

sheet页2

要处理的数据是通过sheet1页每个单元格数据*前面的第一个数字找到sheet2页对应的行号,这样的数据太难看了,想要得到这样的数据
# -*- coding: utf-8 -*-
import xlrd
import xlwt
r=1
# shxrange = range(bk.nsheets)
wb = xlwt.Workbook(encoding='utf-8')#创建工作簿,设置字符编码
ws = wb.add_sheet('A TEST Sheet')#创建sheet
goods = xlrd.open_workbook('test10.xlsx')#打开文件
index = 0
sheet = 0
for sheet_index in range(goods.nsheets/2):
	sh = goods.sheet_by_index(sheet)#返回第1页的对象
	print sheet
	#添加内容到row_list当中
	row_list = []
	for rx in range(sh.nrows):
		#第一行为当前页的分类
		if sh.row(rx)[0].ctype:
			# print sh.row(rx)
			row_list.append(sh.row_values(rx))
		else:
			# print r
			r +=1
	# 取出有多少行
	row = len(row_list)
	sheet = sheet+1
	print sheet
	#将第二页的内容添加到con_list当中
	con_list = []
	sh = goods.sheet_by_index(sheet)#返回第几页的对象
	for rx in range(sh.nrows):
		#第一行为当前页的分类
		# if rx ==0:
		# 	fenglei = sh.row_values(rx)
		# else:
		if sh.row(rx)[0].ctype:
			# print sh.row(rx)
			con_list.append(sh.row_values(rx))
		else:
			print r
			r +=1
	sheet=sheet+1
	# print row
	for r in range(row):
		weizhi = 1
		for c in range(len(row_list[r])):
			if row_list[r][c]:
				ws.write(index, 0, row_list[r][c])
				# ws.write(index,10,fenglei)
				ws.write(index,3,row)
				ws.write(index,4,weizhi)
				try:
					ws.write(index,2,con_list[int(row_list[r][c].split("*")[0])-1][0])
					try:
						ws.write(index,5,con_list[int(row_list[r][c].split("*")[0])-1][1])
					except:
						ws.write(index,5,500)
					try:
						ws.write(index,6,con_list[int(row_list[r][c].split("*")[0])-1][2])
					except:
						ws.write(index,6,500)
					ws.write(index,7,row_list[r][c].split("*")[1])
					ws.write(index,8,row_list[r][c].split("*")[2])
					ws.write(index,9,'hgyingliao'+str(sheet))
				except:
					ws.write(index,5,500)
					ws.write(index,6,500)
					ws.write(index,7,500)
					ws.write(index,8,500)
					ws.write(index,9,'hgyingliao'+str(sheet))
				weizhi =weizhi+1
				index = index + 1
		row =row-1
wb.save('example3.xls')
每两个sheet页为单位进行处理
xlrd,xlwt操作Excel实例的更多相关文章
- python第三方库——xlrd和xlwt操作Excel文件学习
		
python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt Downloadin ...
 - C#开发中使用Npoi操作excel实例代码
		
C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...
 - xlrd》操作excel  出现的问题:File "D:\python37\lib\site-packages\xlrd\formula.py", line 1150, in evaluate_name_formula assert len(tgtobj.stack) == 1
		
xlrd>操作excel 出现的问题 报错如下: D:\python37\python.exe D:/testWang/waimai/tools/get_excelData.py*** for ...
 - python中使用xlrd、xlwt操作excel表格详解
		
python读excel——xlrd 这个过程有几个比较麻烦的问题,比如读取日期.读合并单元格内容.下面先看看基本的操作: 首先读一个excel文件,有两个sheet,测试用第二个sheet,shee ...
 - 【转】经典!python中使用xlrd、xlwt操作excel表格详解
		
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
 - xlrd、xlwt 操作excel表格详解
		
转自:https://www.cnblogs.com/jiablogs/p/9141414.html python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是 ...
 - python中使用xlrd、xlwt操作excel
		
python 对 excel基本的操作如下: # -*- coding: utf-8 -*- import xlrd import xlwt from datetime import date,dat ...
 - Python-利用xlrd模块操作excel
		
在工作中,无论是数据分析,还是批量导入数据,都会去操作excel,当然,数据分析有数据分析的方法,而我在开发中涉及到的是批量导入excel中的数据, 接下来介绍下如何利用python的xlrd模块来读 ...
 - python xlrd,xlwt 读写excel文件
		
python 读excel文件,需要xlrd库.下载地址:https://pypi.python.org/pypi/xlrd python 写excel文件,需要xlwt库.下载地址:https:// ...
 
随机推荐
- CI  点击图片刷新验证码
			
<img src="<?php echo site_url('home/login/code'); ?>" onclick= this.src="< ...
 - HTML基本元素的运用
			
段落相关标签<p><br><hr> 格式化相关标签<small><sub><sup><pre> 列表相关标签< ...
 - 金典 SQL笔记(9)
			
page301-354其它解决方式 ---开窗函数 --測试数据及表 USE [NB] GO /****** 对象: Table [dbo].[T_Person2] 脚本日期: 08/14/2015 ...
 - java-web 过滤器 & 监听器 & 拦截器
			
Tomcat 的容器分为四个等级.真正管理 Servlet 的容器是 Context 容器,一个 Context 对应一个 Web 工程.在 Tomcat 的配置文件里能够非常easy发现这一点.例如 ...
 - JMETER 不同线程组 变量值 的参数传递(转)
			
线程组 1 在线程组1中使用__setProperty函数设置jmeter属性值(此值为全局变量值),将所需变量值如${token}设置为jmeter属性值,即newtoken,示例: 1.添加- ...
 - Java Cache
			
Ehcache http://www.ehcache.org/ Memcached http://memcached.org/ Server http://blog.couchbase.com/mem ...
 - 如何使用HTTP压缩优化服务器
			
鉴于互联网上的宽带有限,网络管理人员任何旨在加速接入速度的努力都是有价值的.其中的一个方法就是通过HTTP压缩技术实现接入速度的加速,它通过减少在服务器和客户端之间传输的数据量,显著地提高网站的性能. ...
 - 认识tornado(二)
			
前面我们对 Tornado 自带的 hello world 作了代码组织上的解释,但是没有更加深入细致地解释.这里我们直接从main()函数开始,单步跟随,看看tornado都干了些什么. 下面是 m ...
 - 【BZOJ4621】Tc605 DP
			
[BZOJ4621]Tc605 Description 最初你有一个长度为 N 的数字序列 A.为了方便起见,序列 A 是一个排列. 你可以操作最多 K 次.每一次操作你可以先选定一个 A 的一个子串 ...
 - maven 编译报错  java: -source 1.6 中不支持switch 中存在字符串
			
maven项目的pom文件里面添加 <build><defaultGoal>compile</defaultGoal><pluginManagement> ...
 
			
		
