1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python批量复制一个文件夹中的全部excel数据并粘贴至一个excel文件中-openpyxl模块

Python批量复制一个文件夹中的全部excel数据并粘贴至一个excel文件中-openpyxl模块

时间:2018-10-08 01:32:39

相关推荐

Python批量复制一个文件夹中的全部excel数据并粘贴至一个excel文件中-openpyxl模块

最近工作经常要把多张相同表头,不同内容的数据汇总到一张excel中,为节省复制粘贴时间,我找到了Python中的openpyxl模块进行处理,读取一个文件夹下所有的excel文件并写入一张excel中。

话不多说没直接上代码-->

from openpyxl import load_workbookimport osfrom openpyxl import Workbookfrom openpyxl.drawing.image import Image # 注意当你想往excel写入图片时,可使用这个方法。def del_excel():# file_list = os.walk('D:/集合/银行/') # 获取这个文件夹下所有的excel文档。file_list = os.walk('C:\\Users\\Administrator\\Desktop\\ceshi\\') # 获取这个文件夹下所有的excel文档。for file in file_list:path_list = file[2]wb = Workbook()ws1 = wb.create_sheet('合并', index=0) # 创造合并之后的sheet表的名字title_list = ["分类ID", "产品属性", "Parent SKU", "产品标题", "产品描述", "sku", "变种名称", "变种属性名称一", "变种属性名称二","变种属性值一", "变种属性值二", "价格", "促销价", "折扣活动ID", "库存", "重量", "主图(URL)地址", "附图1","附图2", "附图3", "附图4", "附图5", "附图6", "附图7", "附图8地址", "变种图", "长(cm)", "宽(cm)", "高(cm)","发货期", "来源URL", "尺码图", "产品id", "销量", "浏览", "收藏", "工作簿名称"] # sheet表的表头创建ws1.append(title_list)for ph in path_list: # 迭代遍历所有excel 文档print('ph %s' % ph)# ph = ph.replace('~$', '')if str(ph).endswith('sx') and not str(ph).startswith('~$'):# res = find_excel(path='D:/集合/银行/' + ph) # 构建单个文档路径res = find_excel(path='C:\\Users\\Administrator\\Desktop\\ceshi\\' + ph) # 构建单个文档路径wb2 = load_workbook('C:\\Users\\Administrator\\Desktop\\ceshi\\' + ph)sheet = wb2.active # 操作单元格for index, row in enumerate(sheet.rows):if index > 0: # 因为 index = 0时,获取到的为表头的值。# print("####", row)c = []for item in row: # 这个迭代无特殊情况 可简化一下print("++++", item.value)c.append(item.value) # 注意,获取到的是一行的值# print("=====", c)# print("*****", c)# return cws1.append(c)print("----->", res)# ws1.append(res)wb.save('C:\\Users\\Administrator\\Desktop\\ceshi\\result.xlsx')def find_excel(path): # 获取excel文档内容的方法wb = load_workbook(path)sheet = wb.activec = []# content = []for index, row in enumerate(sheet.rows):if index > 0: # 因为 index = 0时,获取到的为表格的值。# print("####", row)for item in row: # 这个迭代无特殊情况 可简化一下# print("++++", item.value)c.append(item.value) # 注意,获取到的是一行的值c.append(str(ph).replace('.xlsx', ''))# print("=====", c.append(item.value))# print("*****", c)# return c# print("!!!!!!!!!!", c)return c# return contentif __name__ == '__main__':del_excel()print("执行结束")

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。