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. spring-boot-learning 日志相关

    sprint-boot 日志   市面上的日志框架: JUL.JCL.Jboss-logging.logback.log4j.log4j2.slf4j.... SpringBoot:底层是Spring ...

  2. 转载:2017百度春季实习生五道编程题[全AC]

    装载至:https://blog.csdn.net/zmdsjtu/article/details/70880761 1[编程题]买帽子 时间限制:1秒空间限制:32768K度度熊想去商场买一顶帽子, ...

  3. Redis 回收进程如何工作的?

    一个客户端运行了新的命令,添加了新的数据.Redi 检查内存使用情况,如 果大于 maxmemory 的限制, 则根据设定好的策略进行回收.一个新的命令被执 行,等等.所以我们不断地穿越内存限制的边界 ...

  4. 解释 Spring 支持的几种 bean 的作用域?

    Spring 框架支持以下五种 bean 的作用域:singleton : bean 在每个 Spring ioc 容器中只有一个实例.prototype:一个 bean 的定义可以有多个实例.req ...

  5. java接口返回为空时候如何处理

    java前后端分离以后,后端常常返回给前端以下的内容: 如果遇到某个字段的内容为空的时候会出现这样的情况: 图中红色箭头的情况是一个数组集合,但是该集合为空,所以就返回null,但是我们如果想对于这样 ...

  6. Vue报错之" [Vue warn]: Unknown custom element: <wzwzihello> - did you register the component correctly? For recursive components, make sure to provide the "name" option."

    一.报错截图 [Vue warn]: Unknown custom element: <wzwzihello> - did you register the component corre ...

  7. ctfhub web信息泄露备份文件下载(网站源码,back文件)

    网站源码 进入环境,首先我们用bp抓一下包 在HTTP请求方式GET/后添加两个负载,一个用于爆破文件名,一个用于爆破后缀名 得知网页源码的备份形式为www.zip,下载网页源码 打开记事本文件 发现 ...

  8. carsim输入输出变量

    来自:https://wenku.baidu.com/view/3405ded5443610661ed9ad51f01dc281e43a5673.html 输出量

  9. testview属性之详解

    安卓开发当中TextView是最常用的组件之一了,那么现在就来详细的了解下TextView的属性: Android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示 ...

  10. 火狐浏览器Hackbar安装破解

    1 下载 https://pan.baidu.com/s/18cKoJAam9by7AB168Im57g 64mt 下载后解压到一个固定文件夹下 2 安装 选择xpi进行安装 3 关闭插件更新 点击插 ...