文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python学习-windows下使用p

2023-01-31 06:56

关注

   

有时候需要处理很多报表,将一个目录下的所有excel格式报表合并,手工操作费事费力如果能使用python,将多个.xlsx同时能够合并多个excel表的话,多么方便。

image.png

1、windows上python配置

windows上安装的是python2.7,需要使用pip安装一些第三方包,所以需要配置一下。在linux上修改Pip源很简单,但是在windows上很麻烦,所以我就直接单次指定pip源下载包

#windows上pip执行路径为C:\Python27\Scripts
pip install -U pip -i https://pypi.douban.com/simple/ #升级pip
pip install -i  openpyxl #处理excel表格

image.png


2.合并多个xlsx表格

编写脚本,将E:\excel\目录下所有xlsx文件合并

#!/env/python
#coding=utf-8

##合并多个excel表格##

import os
import glob
import openpyxl


def merge_xlsx_files(xlsx_files):  #定义函数合并xlsx文件
    wb = openpyxl.load_workbook(xlsx_files[0]) #调用openpyxl模块loda_workbook函数
    ws = wb.active                              #获取活跃的Worksheet
    ws.title = "merged result"                  #定义工作表

    for filename in xlsx_files[1:]:            #循环xlsx_files参数,获取第一个工作表(只有一个)
        workbook = openpyxl.load_workbook(filename)  #调用函数
        sheet = workbook.active                   #获取活跃的表格
        for row in sheet.iter_rows(min_row=2): #遍历其他文件,忽略首行内容
            values = [cell.value for cell in row] #循环获取单元格的值
            ws.append(values)                      #将值依次添加末尾    
    return wb                                     #返回

def get_all_xlsx_files(path):                        #定义获取所有xlsx文件
    xlsx_files = glob.glob(os.path.join(path,'*.xlsx')) #采用glob方法指定路径下所有.xlsx的文件
    sorted(xlsx_files,key=str.lower)                     #按照关键字字符串小写排序
    return xlsx_files

def main():                                        #定义主函数
    xlsx_files = get_all_xlsx_files(os.path.expanduser ("E:\\excel\\")) #定义变量xlsx_files为get_all_xlsx_files函数,指定参数为指定目录
    wb = merge_xlsx_files(xlsx_files)                            #定义wb为merge_xlsx_files函数,指定参数为遍历
    wb.save('merged_form.xlsx')                                  #save方法将汇总表保存到merged_form.xlsx

if __name__ =='__main__':
    main()

完成合并后如下所示

image.png


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯