中文编程,python控制Excel实现跨文件复制Sheet.
今天看到有信息邀请泛舟回答这样的问题:
python实现多个Excel表格合并为同一个表格的不同sheet,并且将sheet名字命名为原表名?
这个就是一个跨文件复制Sheet 的问题,在泛舟能力理解之内,python 的包例如openpyxl是接近无解的.当然可以强行一个一个数据复制,但还有格式一样复制过去,十分麻烦.
相反,用win32com 接口,就方便很多,就是一句命令的问题.
泛舟刚刚好近来在能这个Excel方面的,于是写了以下代码.
泛舟把原问题做了简化处理,泛舟的代码是这样的:获取指定文件夹内的所有文件列表, 新建一个Excel文件,根据文件列表判断,如果是excel文件,则复制第一张Sheet,插入新建表,再改名为读取文件的文件名,然后一直循环到读取完所有表,然后保存新建表.
泛舟这里简化了原来问题,原来问题如果一个Excel 文档有多个表格的情况,没有处理,如果按原来的表名重命名,那么重复表名,也没有处理,这个留个各位读者自己想办法完善.
代码如下:
# -*- coding: utf-8 -*-
"""
Created on Mon Jan 14 12:02:42 2019
python 调用 win32com 处理 excel 文件
@author: 浩海泛舟
"""
import win32com.client as 包_win32工具
import os as 包_系统工具
def 方法_获取文件目录(文件路径):
文件集 = 包_系统工具.listdir(文件路径)
return 文件集
def 方法_跨文件复制表(文件路径,文件集):
excel工具 = 包_win32工具.Dispatch('Excel.Application')