目的:相同格式的excel表,需要合并数据,手动输入太费事费力
缺点:读取大批量数据运行较慢(>10 min),写入多个表格更新行列较麻烦
import openpyxl
from win32com.client import Dispatch #添加此防止读出none值
路径="请输入路径\\表名.xlsx" #合并进的表
wb=openpyxl.load_workbook(路径) #打开表
ws=wb['Sheet1'] #打开sheet
路径1="请输入路径\\表名1.xlsm" #需要合并的表
路径2="请输入路径\\表名2.xlsm" #需要合并的表
def just_open(filename): #添加此防止读出none值
xlApp = Dispatch("Excel.Application")
xlApp.Visible = False
xlBook = xlApp.Workbooks.Open(filename)
xlBook.Save()
xlBook.Close()
just_open(路径1) #添加此防止读出none值
表= openpyxl.load_workbook(路径1, data_only=True) #读取数值,不读公式
sheet= 表['Sheet1'] #打开需要合并数据的那个Sheet
for i in range (447,455): #所取数值的行数
x= sheet.cell(i, 5).value # 5 代表需要数值所在的列,获取数值
ws.cell(row=i-446, column=3).value = x #在新表1-5行,3列写入数值
print('finish-1') #打印确保运行完成,可删去
just_ope