import shutil
import os

from openpyxl import load_workbook
from xlutils.copy import copy
import win32com.client as win32
import xlrd

def copyfiles3p3k():
rootdir="F:\\数据备份20211108\\材料模版\\back\\4异形内外走廊钢构\\外3p3k\\"
sourcefile=rootdir+"\\aa.xls"
# listdir=os.listdir(rootdir)
for fileindex in range(14,41,2):
filename="3p3k"+str(fileindex)+"k.xls"
# print(filename)
file_full_name=rootdir+filename
print(file_full_name)
shutil.copyfile(sourcefile,file_full_name)

def copyfiles3p4k():
rootdir="F:\\数据备份20211108\\材料模版\\back\\4异形内外走廊钢构\\内3p4k\\"
sourcefile=rootdir+"\\aa.xls"
# listdir=os.listdir(rootdir)
for fileindex in range(14,41,2):
filename="3p4k"+str(fileindex)+"k.xls"
# print(filename)
file_full_name=rootdir+filename
print(file_full_name)
shutil.copyfile(sourcefile,file_full_name)

def copyfiles6p3k():
rootdir="F:\\数据备份20211108\\材料模版\\back\\4异形内外走廊钢构\\外6p3k\\"
sourcefile=rootdir+"\\aa.xls"
# listdir=os.listdir(rootdir)
for fileindex in range(14,41,2):
filename="6p3k"+str(fileindex)+"k.xls"
# print(filename)
file_full_name=rootdir+filename
print(file_full_name)
shutil.copyfile(sourcefile,file_full_name)

def copyfiles6p4k():
rootdir="F:\\数据备份20211108\\材料模版\\back\\4异形内外走廊钢构\\外6p4k\\"
sourcefile=rootdir+"\\aa.xls"
# listdir=os.listdir(rootdir)
for fileindex in range(14,41,2):
filename="6p4k"+str(fileindex)+"k.xls"
# print(filename)
file_full_name=rootdir+filename
print(file_full_name)
shutil.copyfile(sourcefile,file_full_name)

def copyfiles6p4knei():
rootdir="F:\\数据备份20211108\\材料模版\\back\\4异形内外走廊钢构\\内6p4k\\"
sourcefile=rootdir+"\\aa.xls"
# listdir=os.listdir(rootdir)
for fileindex in range(14,41,2):
filename="6p4k"+str(fileindex)+"k.xls"
# print(filename)
file_full_name=rootdir+filename
print(file_full_name)
shutil.copyfile(sourcefile,file_full_name)

def read_and_modify_cell(rootdir,prefilename,sheetname,lastname,worksheet_read,rowcount):
# cell(行,列)所有单元格从0开始
wfn = int(worksheet_read.cell(9, 4).value + 1)#这个是双层4K内走廊
# wfn = int(worksheet_read.cell(8,4).value+1)#这个是双层4K外走廊
# print(wfn)#这个是得到板房K数
# 要写入的文件,找到表
path=rootdir+prefilename+str(wfn)+lastname
print(path)
rb = xlrd.open_workbook(path)
wb = copy(rb)
ws = wb.get_sheet(0)
# for i in range(2, rowcount):
# for j in range(0, 5, 2):
# print(str(worksheet_read.cell(i, j).value))
# ws.write(i, j, label=worksheet_read.cell(i, j).value)
# print(worksheet_read.cell(13, 8).value+":"+worksheet_read.cell(23, 8).value)
ws.write(13, 8, label=worksheet_read.cell(13, 8).value)
ws.write(22, 8, label=worksheet_read.cell(22, 8).value)
wb.save(path)
# exit()

def modify_bbxls():
readfilename = 'F:\\数据备份20211108\\材料模版\\bb4p.xlsx'
savefilename='F:\\数据备份20211108\\材料模版\\bb4p.xls'
# 打开文件
workbook_read_write=load_workbook(readfilename)
# 得到要修改的表
worksheet_read_write=workbook_read_write.get_sheet_by_name('计算')
# 修改单元格
for fileindex in range(14, 41, 2):
# print(fileindex)
worksheet_read_write['b3']=str(fileindex)
# 写入模板单元格
workbook_read_write.save(readfilename)
# 把要读取的xlsx改成xls
if(os.path.isfile(savefilename)):
os.remove(savefilename)
excel=win32.gencache.EnsureDispatch('excel.application')
pro=excel.Workbooks.Open(readfilename)
pro.SaveAs(savefilename,FileFormat=56)
pro.Close(True)
excel.Application.Quit()
# 得到板房模板
sheetname=''
sheettype='6p4k'
zoulang=0
rootdir="F:\\数据备份20211108\\材料模版\\back\\4异形内外走廊钢构\\内6p4k\\"
lastname='k.xls'
rowcount=0
if sheettype=='3p3k':
rowcount=29
sheetname='3p3k外材料';
elif sheettype=='3p4k':
if zoulang==0:
rowcount=27
sheetname = '3p4k内材料';
else:
rowcount = 30
sheetname = '3p4k外材料';
elif sheettype=='6p3k':
rowcount=44
sheetname = '6p3k外材料';
elif sheettype=='6p4k':
if zoulang == 0:
rowcount = 43
sheetname = '6p4k内材料';
else:
rowcount = 45
sheetname = '6p4k外材料';

worksheet_read=xlrd.open_workbook(savefilename).sheet_by_name(sheetname)
read_and_modify_cell(rootdir,sheettype,sheetname,lastname,worksheet_read,rowcount)

if __name__ == '__main__':
print('PyCharm')
modify_bbxls()
# copyfiles3p4k()
# copyfiles6p3k()
# copyfiles6p4k()
# copyfiles3p3k()
# copyfiles6p4knei()

python读写excel表格,4泼水板房的更多相关文章

  1. 用 Python 读写 Excel 表格

    Python 可以读写 Excel 表格吗? 当然可以. Python 下有很多类库可以做到, openpyxl 就是其中的佼佼者. openpyxl 的设计非常漂亮 ,你一定会喜欢它!不信请往下看: ...

  2. Python读写Excel表格

    最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...

  3. Python读写Excel表格(简单实用)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:giao窝里giao首先安装两个库:pip install xlrd. ...

  4. Python读写EXCEL文件常用方法大全

    前言 python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式. 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pa ...

  5. [转]用Python读写Excel文件

    [转]用Python读写Excel文件   转自:http://www.gocalf.com/blog/python-read-write-excel.html#xlrd-xlwt 虽然天天跟数据打交 ...

  6. python 处理 Excel 表格

    see: http://www.cnblogs.com/sunada2005/p/3193300.html 一.可使用的第三方库 python中处理excel表格,常用的库有xlrd(读excel)表 ...

  7. python读写Excel文件的函数--使用xlrd/xlwt

    python中读取Excel的模块或者说工具有很多,如以下几种: Packages 文档下载 说明 openpyxl Download | Documentation | Bitbucket  The ...

  8. python 对Excel表格的写入

    python对Excel表格写入需要导入xlrd ,和xlutils两个库 from xlrd import open_workbook from xlutils.copy import copy o ...

  9. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

随机推荐

  1. jdk代理和cglib代理源代码之我见

    以前值是读过一遍jdk和cglib的代理,时间长了,都忘记入口在哪里了,值是记得其中的一些重点了,今天写一篇博客,当作是笔记.和以前一样,关键代码,我会用红色标记出来. 首先,先列出我的jdk代理对象 ...

  2. java支持多继承吗

    java不支持多继承,只支持单继承(即一个类只能有一个父类).但是java接口支持多继承,即一个子接口可以有多个父接口.(接口的作用是用来扩展对象的功能,一个子接口继承多个父接口,说明子接口扩展了多个 ...

  3. VMware ESXi安装NVIDIA GPU显卡硬件驱动和配置vGPU

    一.驱动软件准备:从nvidia网站下载驱动,注意,和普通显卡下载驱动地址不同. 按照ESXi对应版本不同下载不同的安装包.安装包内含ESXi主机驱动和虚拟机驱动. GPU显卡和物理服务器兼容查询:( ...

  4. JavaScript的取值小技巧之“中括号[]取值法”

    一.简介 做下记录,今天看了一篇很有意思的文章,学到了这个取值的小技巧 正常的话我们一般都是用对象直接去'.'对应的属性名(也就是键值对的键)来获取对应的值 这里记录的是另一种取值方式,他是采用中括号 ...

  5. visio2019专业版激活码

    这里面有    :  最新Project2019+ Visio2019专业增强版和专业版永久激活密钥分享 (weibo.com)

  6. 【Android开发】【数据库】Realm For Android

    目录 1.Realm简介 2.环境配置 3.初始化Realm 4.创建实体 5.增 6.删 7.改 8.查 9.异步操作 10.数据库数据更新监听 11.json转对象,插入数据库 12.Demo地址 ...

  7. 基于Yeoman实现自定义脚手架

    什么是脚手架? Yeoman是什么? 实现自定义脚手架 基于Yeoman实现Vue-cli 一.什么是脚手架? 手脚架从功能上来讲就是创建项目初始文件,这其中包括生成功能模块配置.自动安装依赖.自动生 ...

  8. 企业需要使用网络损伤仪 WANsim 的帮助,以便更高效地迁移到云端

    正确解决与云环境中的应用程序部署有关的问题需要针对每个系统的独特需求以寻找特定的网络工具.网络损伤仪 WANsim 助力企业更高效地迁移到云端! 起初,云厂商以在云端办公相对于传统方式拥有更高的可靠性 ...

  9. instanceof 和类型转换

    instanceof 和类型转换 instanceof 判断a 和 B 类型是否相似 公式 System.out.println(a instanceof B); //true / false 编译是 ...

  10. Python学习报告及后续学习计划

    第一次有学习Python的想法是源于寒假在家的时候,高中同学问我是否学了Python(用于深度学习),当时就到b站收藏了黑马最新的教学视频,但是"收藏过等于我看了",后续就是过完年 ...