• Python 给一个Excel文件套上固定的格式


    一般来说,我们使用to_excel()函数,得到一个没有任何格式的Excel文件,但是我们又想设置一下字体,条件格式等,可以使用 xlwt 一个一个写进去,但是如果数据特别多,效率就很慢。 

    我们想这样实现:先设置一个格式文件,然后再格式刷一下。

    查询资料,得到如下方法:

    import pandas as pd
    import numpy as np
    
    import re
    import datetime
    import warnings
    warnings.filterwarnings("ignore")
    import time
    import pythoncom
    from PIL import ImageGrab
    import win32com
    from win32com.client import Dispatch,constants
    import os
    os.system('taskkill /IM EXCEL.exe /F')
    import shutil
       
    #复制文件格式例子副本:是设计好格式的文件,复制文件格式例子06是最终输出文件,复制文件格式例子是需要复制格式的文件
    risk_df =shutil.copyfile('xxx/复制文件格式例子副本.xlsx','xxx/复制文件格式例子06.xlsx')
    
    pythoncom.CoInitialize()# 自动调度必须执行代码
    xlapp2 = win32com.client.gencache.EnsureDispatch('Excel.Application')
    wkb = xlapp2.Workbooks.Open(risk_df)
    wkb_tmp = xlapp2.Workbooks.Open('xxx/复制文件格式例子.xlsx')
          
    wkb_tmp.Worksheets('Sheet1').Range('A1:C5').Copy()   
    wkb.Worksheets('Sheet1').Select
    wkb.Worksheets('Sheet1').Range('A1').PasteSpecial(Paste = constants.xlPasteValues,Operation = constants.xlNone)
    
    wkb.Save()
    wkb.Close()
    wkb_tmp.Save()
    wkb_tmp.Close()
    print('done',datetime.datetime.now())
    固定格式的文件:复制文件格式例子副本.xlsx 如下:

     需要复制格式的文件:复制文件格式例子.xlsx

     最终输出文件:复制文件格式例子06.xlsx

    最终效果不错,方法好使。

     如报这个错误

    AttributeError: module 'win32com.gen_py.00020813-0000-0000-C000-000000000046x0x1x8' has no attribute 'CLSIDToClassMap'

    解决网址:https://blog.csdn.net/Saladbobo/article/details/103381335

     
  • 相关阅读:
    [LeetCode]62. Excel Sheet Column Title Excel列序号
    [LeetCode]61. Excel Sheet Column Number Excel列序号
    [LeetCode]60. Rectangle Area矩形面积
    [LeetCode]59. H-Index H指数
    [LeetCode]58. Fraction to Recurring Decimal分数化小数
    [LeetCode]57. Binary Tree Inorder Traversal中序遍历二叉树
    Insert or Merge
    Root of AVL Tree
    是否同一棵二叉搜索树
    List Leaves
  • 原文地址:https://www.cnblogs.com/cgmcoding/p/16516907.html
Copyright © 2020-2023  润新知