python操作excel实用脚本
import xlrd
data = xlrd.open_workbook('/home/ppe/workspace/pythonwp/tianranqi_org.xls')
table = data.sheets()[0]
nrows = table.nrows #行数
ncols = table.ncols #列数
print('工作薄 行数: {} 列数: {}'.format(table.nrows,table.ncols))
colnames = table.row_values(0) #某一行数据
dict_t = {}
for rownum in range(1,nrows):
if rownum <= 3:
continue
row = table.row_values(rownum)
if row:
# print('{}, {}'.format(rownum,row))
if row[7] == '√':
jinqifangxiang = ''
else:
jinqifangxiang = ''
# print('--> 序号:{}, 房间号:{}, 表号:{}, 进气口:{}, 卡缄口:{}'.format(row[0],row[5], row[6], jinqifangxiang, row[13]))
newrow = {}
newrow[0] = int(row[5]) # 户号
newrow[1] = row[6] # 表号
newrow[2] = jinqifangxiang # 进气口
newrow[3] = int(row[13]) # 卡缄口
# print(newrow)
dict_t[newrow[0]] = newrow
print(dict_t)
打印: {507: {0: 507, 1: '0201623502', 2: '01', 3: 18886663}, 506: {0: 506, 1: '0201623671', 2: '01', 3: 18886571}}
import xlrd
import re
from xlwt import *
from xlutils.copy import copy xlsfile = '/home/ppe/workspace/pythonwp/meter'
# 读取要写入文件
xls_dst = xlrd.open_workbook(xlsfile + '.xls')
table = xls_dst.sheets()[0] print('工作薄 行数: {} 列数: {}'.format(table.nrows,table.ncols)) for i in range(1,table.nrows):
row = table.row_values(i) if row:
# print('{}, '.format(i), row) # 使用正则表达式,求出户号
house_num = row[1]
p = re.compile('河南省郑州市高新区迎春街与雪松路交叉口西北角朗悦V公馆一期7栋A单元(.*)层(.*)室')
no = p.findall(house_num)
# print(no[0]) hnum = '{}{}'.format(no[0][0],no[0][1])
# print(hnum)
# print(dict_t[int(hnum)])
# print(dict_t[int(hnum)][1]) # 写入指定单元格
row_index = i
col_index = 2
ctype = 1 # 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
value = dict_t[int(hnum)][1]
xf = 0 # 格式化扩展
ret = table.put_cell(row_index, col_index, ctype, value, xf) # 写入指定单元格
row_index = i
col_index = 3
ctype = 1 # 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
value = dict_t[int(hnum)][1]
xf = 0 # 格式化扩展
ret = table.put_cell(row_index, col_index, ctype, value, xf) # 写入指定单元格
row_index = i
col_index = 7
ctype = 1 # 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
value = dict_t[int(hnum)][2]
xf = 0 # 格式化扩展
ret = table.put_cell(row_index, col_index, ctype, value, xf) # 写入指定单元格
row_index = i
col_index = 27
ctype = 1 # 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
value = str(dict_t[int(hnum)][3])
xf = 0 # 格式化扩展
ret = table.put_cell(row_index, col_index, ctype, value, xf) #保存xlsfile
wb = copy(xls_dst)
wb.save(xlsfile + '_new.xls')
需求和截图如下:
填写C/D/E/H/AB五列,C列和D列一样,都是表号;E列如实填写气表底数;H列进气方向:01是左进,02是右进,系统默认的是01,请把右进的修改成02; 最右边的AB列封缄号一列别忘了,就是封签号。
原始表:

目标表:

完成效果:

python操作excel实用脚本的更多相关文章
- python 操作excel 的包 函数
###########sample 1 https://blog.csdn.net/chengxuyuanyonghu/article/details/54951399 python操作excel主要 ...
- python - 操作excel表格
说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- Python操作Excel
一.系统性学习 对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操 ...
- Python操作excel(xlrd和xlwt)
Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...
- Python操作excel表格
用Python操作Excel在工作中还是挺常用的,因为毕竟不懂Excel是一个用户庞大的数据管理软件 注:本篇代码在Python3环境下运行 首先导入两个模块xlrd和xlwt,xlrd用来读取Exc ...
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- Python 利用Python操作excel表格之openyxl介绍Part1
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...
- 【转】python操作excel表格(xlrd/xlwt)
[转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...
随机推荐
- windows 下 redis 的安装及使用
1.下载及安装redis 下载地址:https://github.com/dmajkic/redis/downloads 找到对应的版本下载安装 打开cmd窗口,用cd命令进入到安装redis的根目录 ...
- git使用方法(持续更新)
2018/5/9 最基本的操作: 添加文件.文件夹.所有文件: git add test.py //添加单个文件 git add src //添加文件夹 git add . ...
- 剖析gcc -v输出
分析gcc -v的详细信息的意义 首先我们需要清楚一点,我们并不能完全弄清楚gcc -v的所有信息,因为毕竟我们并不是GCC编译器集合的实现者,对于这些信息,他们才是最清楚的.由于我们不能将所有的信息 ...
- pure::variants — 产品线变体管理工具
pure::variants 是德国 pure-systems 公司的产品,其目的是帮助企业实现对产品线的变体管理,提高企业项目资产的复用效率.pure::variants 的核心理念是运用产品线管理 ...
- css完结篇
1.如何让一个绝对定位的盒子居中 left:50%; margin-left:-宽度的一半; 2.固定定位 position:fixed; 1.脱标 参考点:浏览器左上角 作用:固定导航栏,返回顶部, ...
- 修改httpd端口
修改httpd端口 默认httpd端口为80,现在改成800 修改两个地方: 1.修改配置文件httpd.conf listen 把80改成需要的端口 2.修改配置文件httpd-vhosts.con ...
- centos安装nodejs和配置npm
1.下载安装nodejs 1 wget http://nodejs.org/dist/v7.4.0/node-v7.4.0.tar.gz 2 yum install gcc openssl-devel ...
- 第113题:路径总和II
一. 问题描述 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = 22, 5 ...
- python - django (session)
# """ # Session # 是存在服务端的键值对 # Session 必须依赖Cookie 存储Session: · 在服务器生成随机字符串 · 生成一个和上面随 ...
- SQLServer函数 left()、charindex()、stuff()
SQLServer函数 left().charindex().stuff()的使用 1.left()LEFT (<character_expression>, <integer_ex ...