python3-excel数据填充

该Python脚本用于检查Excel文件中是否存在空单元格,并在找到空单元格时终止程序。它首先读取工作簿,然后遍历每一行,检查指定列是否有空值。如果发现空值,会打印出空单元格的位置并计数。之后,脚本将创建一个新工作簿,复制原有格式,并将数据写入新工作簿的相应位置。最后,根据源文件和目标文件路径调用此功能并打印完成信息。
摘要由CSDN通过智能技术生成

(python3-excel数据填充) python3-excel数据填充

用xlrd.open_workbook时,添加对应的参数formatting_info=True,就可以保留表格原有格式

import xlrd
from xlutils.copy import copy

#检查空白单元格,如果有则指出是第几行第几列,并终止程序!
def black_form(path):
data = xlrd.open_workbook(path) # 读取表格
sheet = data.sheets()[0] # 获取数据表格,选定表Sheet1
print(‘提示信息:空白单元格检查’)
list = 0
for i in range(0, sheet.nrows): # 行,遍历所有行信息
if i >= 1: # 从第一行开始检查
# j代表列,检查第i行第j列是否为空单元格
j = 2
if sheet.cell(i, j).value == “”:
print(‘第 %s 行第 %s 列是空单元格’ %(str(i), str(j)))
list += 1
j = 7
if sheet.cell(i, j).value == “”:
print(‘第 %s 行第 %s 列是空单元格’ % (str(i), str(j)))
list += 1
j = 9
if sheet.cell(i, j).value == “”:
print(‘第 %s 行第 %s 列是空单元格’ %(str(i), str(j)))
list += 1
j = 11
if sheet.cell(i, j).value == “”:
print(‘第 %s 行第 %s 列是空单元格’ %(str(i), str(j)))
list += 1
j = 13
if sheet.cell(i, j).value == “”:
print(‘第 %s 行第 %s 列是空单元格’ % (str(i), str(j)))
list += 1
if list != 0:
print(‘共%d个空白单元格,程序停止执行,请填写空白单元格’ %list)
exit() # 如果有空白单元格,程序终止执行

excel - excel

def excel_copy(inpath, outpath):
black_form(inpath) #检查空白单元格
data = xlrd.open_workbook(inpath) #读取表格
sheet1 = data.sheets()[0] # 获取数据表格,选定表Sheet1

print('开始写入表格信息:')
for i in range(0, sheet1.nrows): #行,遍历所有行信息
    #if sheet1.row_values(0)[2] == '总成号':
       # print(str(sheet1.row_values(i)[2]))   # 提示Z信息,第一列

    old_excel = xlrd.open_workbook(outpath, formatting_info=True)   # 打开输出表格母本
    new_excel = copy(old_excel)    # 新建输出表格
    new_excel.save(r'C:\Users\qian.zhang4\Desktop\excel工具\复制\\' + '母本' + '.xls')  # 保存输出表格母本
    ns = new_excel.get_sheet(0)       #sheet1即封面
    ws = new_excel.get_sheet(1)       #sheet2即产品芯号配置输入以及追溯信息表

    if i >= 1:
        # 写入封面
        ns.write(4, 1, sheet1.row_values(i)[2])   #总成号
        #写入产品芯号配置输入以及追溯信息表.关联ERP所在列
        ws.write(3, 13, sheet1.row_values(i)[2])  # 总成号
        ws.write(4, 13, sheet1.row_values(i)[7])  # 软件ERP-MPU tgz软件包写入825BN Linux系统-软件注入文件所在行,
        ws.write(5, 13, sheet1.row_values(i)[9])  # 软件ERP-sh文件写入MPU 注入用脚本文件所在行
        ws.write(6, 13, sheet1.row_values(i)[13])  # 软件ERP-MCU SCT软件包写入MCU SCT-软件注入文件所在行
        ws.write(7, 13, sheet1.row_values(i)[11])  # 软件ERP-MCU BIN文件写入MCU BIN-软件注入文件所在行
        a = i
        huzhuPath = r'C:\Users\qian.zhang4\Desktop\excel工具\复制\\' + str(a) + sheet1.row_values(i)[0] + '.xls'  # 构建每一个独立的excel文件
        new_excel.save(huzhuPath)

if name == “main”:
excel_copy(‘C:\Users\qian.zhang4\Desktop\excel工具\A13&A18-Y软件ERP.xls’, ‘C:\Users\qian.zhang4\Desktop\excel工具\AP200100_产品芯片配置输入_ERP600602865.xls’)
print(‘excel - excel数据填充完成!’)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值