【办公自动化】使用Python批量处理Excel文件并转为csv文件

这篇具有很好参考价值的文章主要介绍了【办公自动化】使用Python批量处理Excel文件并转为csv文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【办公自动化】使用Python批量处理Excel文件并转为csv文件,办公自动化,python,开发语言,excel

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+


目录

前言

一、Python处理Excel

二、批量处理Excel文件并转为csv文件

三、往期推荐


 文章来源地址https://www.toymoban.com/news/detail-685423.html

前言

        今天一位正在国企实习的朋友突然私信找到我,说领导派了个离谱的活,大概就是需要将一个大文件夹里面的excel文件进行简单处理后再转为csv格式的文件,然后这个大文件里面有五个二级文件夹,这五个二级文件夹里面都有一个三级文件夹,然后每个三级文件夹里面都有14-18个四级文件夹,每个四级文件夹里面有31个excel文件和极少量csv文件夹。听起来层级是不是特别饶,而且加起来总共有2000多个excel文件。处理的话是将表格中的时间列格式进行转换,最后存储为csv文件。这要是人工一个一个文件弄,这得累死人,这种重复的工作当然是交给脚本啦!

【办公自动化】使用Python批量处理Excel文件并转为csv文件,办公自动化,python,开发语言,excel

【办公自动化】使用Python批量处理Excel文件并转为csv文件,办公自动化,python,开发语言,excel

【办公自动化】使用Python批量处理Excel文件并转为csv文件,办公自动化,python,开发语言,excel

一、Python处理Excel

  • Python处理Excel的好处

1.批量操作:当要处理众多Excel文件时,例如出现重复性的手工劳动,那么使用Python就可以实现批量扫描文件、自动化进行处理,利用代码代替手工重复劳动,实现自动化,是Python第一个比Excel强大的地方

2.大型文件,当Excel文件超过几十兆、甚至上百兆时,打开文件很慢、处理文件更加慢,这时候若使用Python,会发现处理几十兆、几百兆甚至几GB都是没有问题的

3.当使用Excel进行复杂的计算时,会使用VBA,但是VBA本身是过时并且复杂的语言,Python是当前最简单且容易实现的一门语言,用Python能够处理比VBA难度更高的业务逻辑

4.Python是通用语言,不仅可以处理Excel,使用Python就可以得到很多额外的功能,例如:爬虫、发布网页的Web服务、与数据库进行连接、同时结合word和PPT进行处理、加入定时任务处理、人工智能分析等,各种额外的功能,这是Excel和VBA所不具备的

  • Python处理Excel主要有三大类库

1.pandas:是Python领域非常重要的,用于数据分析和可视化的类库,在处理Excel中,90%可以利用pandas类库就可以搞掂,利用pandas就可以读取Excel、处理Excel和输出Excel,但是pandas也有缺点,就是无法做到格式类,例如Excel中合并单元、大量复杂的样式(看起来很精美)的时候,用pandas无法搞掂,此时,依然是使用pandas结合openyxl、xlwings来搞掂需求

2.openpyxl:若电脑上未安装office时,也可以使用openpyxl,这个类型可以运行在linux上,并且也可以实现操作大部分Excel格式和样式的功能,使用它配合pandas,也可以完成大部分场景的需求

3.xlwings:比openyxl更加强大,只能运行在Windows或者Mac系统,并且该系统中必须安装了office才能运行,xlwings的原理,就是基于当前系统已经安装好的office软件,来进行功能的拓展来操作Excel

  • 使用pandas的时候,经常会结合其他类库,来完成更加复杂的功能

    • requests, bs4:可以完成爬虫的功能

    • flask:可以做网页,把表格展示在网页上

    • Matplotlib:读取表格后,进行可视化

    • sklearn:进行复杂的数据分析时,也可以结合机器学习Sklearn把读取的Excel数据,进行数据分析和机器学习

    • Python-docx:也可以结合Python-docx类库,实现Excel和word的互通

    • smtplib:也可以使用smtplib,讲Excel数据发送邮件出去

  • 开发环境

操作系统:使用windows, mac都可以

Python版本:系统中需要安装Python3.6以上的版本,Python2已经过期不建议使用,Python3.6以前的版本功能相对弱,最好就是采用Python3.6以上的版本

开发工具:有两个可以选择,jupyter notebook,是个网页编辑器,可以运行Python,常常用于交互性、探索性的开发;pycharm,用于成熟脚本,或者web服务的一些开发;这两个工具可以随意选择。

二、批量处理Excel文件并转为csv文件

技术工具:

Python版本:3.9

代码编辑器:jupyter notebook

处理思路

        写代码之前我们首先需要针对这个需求在脑子里做出一个流程图出来,大概就是使用os库层层遍历文件夹,当遍历到excel文件这一级路径时,我们使用pandas读取excel文件,将time时间列转为时间序列类型并符合要求格式,接着使用pandas将处理后的文件保存为csv文件并输出在同一路径下,最后再将原始excel文件进行删除即可。

处理过程

首先看一下文件夹路径结构

【办公自动化】使用Python批量处理Excel文件并转为csv文件,办公自动化,python,开发语言,excel

 然后我写的脚本与sample_data在同一级

具体脚本代码如下:

import pandas as pd
import os
from datetime import datetime
# 基础文件夹路径
base_dir = './sample_data'

# 循环遍历到每一个excel文件并修改其文件类型为csv
for first_floor in os.listdir(base_dir):  # 遍历第一层
    second_floor_dir = base_dir+'/'+first_floor  # 获取第二层的文件路径
    for second_floor in os.listdir(second_floor_dir):  # 遍历第二层
        third_floor_dir = base_dir+'/'+first_floor+'/'+second_floor  # 获取第三层的文件路径
        for third_floor in os.listdir(third_floor_dir):  # 遍历第三层
            fourth_floor_dir = base_dir+'/'+first_floor+'/'+second_floor+'/'+third_floor  # 获取第四层的文件路径
            for file_dir in os.listdir(fourth_floor_dir):  # 遍历第四层
                file_name = file_dir.split('.')[0]  # 获取excel文件名称
                file_suffix = file_dir.split('.')[1]  # 获取excel文件后缀
                print(fourth_floor_dir)
                if file_suffix=='xlsx' or file_suffix=='xls': # 判断文件是否是excel文件
                    df = pd.read_excel(fourth_floor_dir+'/'+file_dir)  # 读取excel文件
                    df['Time'] = pd.to_datetime(df['Time'])
                    df['Time'] = df['Time'].apply(lambda x:datetime.strftime(x,'%Y-%m-%d %H:%M:%S'))
                    df.to_csv(fourth_floor_dir+'/'+file_name+'.csv',index=False)  # 将excel文件保存为csv文件
                    os.remove(fourth_floor_dir+'/'+file_dir)  # 删除原来的excel文件

        首先定义基础文件夹路径,接着使用os.listdir()获取文件夹列表,嵌套四层循环即可到达excel文件的路径下,然后使用字符串切割获取文件名和后缀,判断后缀是否为excel文件,是的话就使用pandas读取数据,然后转换列类型并转为要求格式,最后保存为csv文件并删除原来excel文件。运行之后就大功告成啦!

        最后还得到了朋友的肯定,其实学Python并不一定要去做程序员,像这种办公软件(excel、PPT、word)在公司里都是必备技能,但是当要处理的文件太多或者都是一些重复性的工作,那此时你用Python写个自动化脚本来做,省时又省力,提高工作效率,同时还能获得领导的欣赏。

【办公自动化】使用Python批量处理Excel文件并转为csv文件,办公自动化,python,开发语言,excel

 

三、往期推荐

Python提取pdf中的表格数据(附实战案例)

使用Python自动发送邮件

Python操作ppt和pdf基础

Python操作word基础

Python操作excel基础

使用Python一键提取PDF中的表格到Excel

 

到了这里,关于【办公自动化】使用Python批量处理Excel文件并转为csv文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 自动化办公:一键批量生成 PPT

    Stata and Python 数据分析 一、导读 在实际工作中,经常需要批量处理Office文件,比如需要制作一个几十页的PPT进行产品介绍时,一页一页地制作不仅麻烦而且格式可能不统一。那么有什么办法可以一键生成PPT呢?Python提供的pptx 包就可以用来自动化处理ppt。 pytho****n-pptx 是一个

    2024年01月17日
    浏览(56)
  • 【办公自动化】使用Python一键提取PDF中的表格到Excel(文末送书5本)

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、Python处理Excel 二、提取PDF表格到excel 三、往期推荐 文末推荐  文末福利   Pyth

    2024年02月14日
    浏览(44)
  • python-自动化篇-办公-批量新建文件夹并保存日志信息

    因为业务需要,每天都需要按当天的日期创建很多新文件夹。把这种重复又繁重的操作交给Python来做,一直是我的目标。先说下要求: 默认在桌面新建文件夹。 文件夹命名方式,“月.日-1”,比如7.8-1,7.8-2。7是代表当天的月份,不能显示07。8是代表当天的日期,不能显示

    2024年02月20日
    浏览(36)
  • Excel自动化办公——Openpyxl的基本使用

    个人感觉,相比Pandas,openpyxl对Excel的操作更为细致,Pandas则更适用于统计计算; 01 基本环境 02 Excel数据读取操作 03 案例 04 向Excel写入数据 05 表数据定向修改 06 单元格样式制定 07 单元格边框样式制定 08 单元格对其方式 09 筛选器 10 公式操作 11 设置行高、列宽 12 单元格拆分

    2024年02月12日
    浏览(27)
  • python-自动化篇-办公-Excel-Openpyxl库

    openpyxl模块是一个读写Excel 2010文档的 Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档。其他很多的与Excel相关的项目基本只支持读或者写Excel一种功能。新建、读取、保存工作簿。Openpyxl 的安装和其它

    2024年02月20日
    浏览(33)
  • 自动化办公-excel篇 openpyxl的使用详解

            本章介绍excel自动化办公——openpyxl库的使用。我觉得openpyxl是一款轻量级的excel操作库,适合用于一些基本的操作构建,如果涉及批量处理数据,如求一整列的最大值最小值等,无疑是pandas更好;对于一些单元格背景填充、单元格合并、批量创建sheet等的操作,无

    2024年02月12日
    浏览(44)
  • python自动化办公——定制化将电子签名批量签写到PDF文件

    首先需要下载所需要的库 此外还需要下载poppler,这里使用的是poppler-0.67.0 这是一个处理PDF文件的工具包,里面包含了非常多的功能供我们使用。 下载地址:https://blog.alivate.com.au/poppler-windows/ 下载完压缩包之后,将压缩包解压到本地的某个地方,并记好路径。 现需要将类似这

    2024年02月09日
    浏览(46)
  • python自动化办公——定制化读取Excel数据并写入到word表格

    最近到了毕业设计答辩的时候,老师让我帮毕业生写一段毕业设计的功能就是提供一个 学士学位授予申请表 ,根据定制化需求,编写定制化代码。 docx格式的word如下图。 再提供一个Excel表格,要求可以直接读取表格里的对应内容,填入到word表格里的对应位置。表格是我自己

    2024年02月10日
    浏览(42)
  • 怎么从休学证明中取出休学原因(python自动化办公,涉及word和excel)

    本代码偏向处理高校教务处的工作 休学或请假模板如下: 需求说明: 代码如下: 重要知识点补充

    2024年02月07日
    浏览(41)
  • python从小白到大师-第一章Python应用(六)应用领域与常见包-自动化办公excel

    目录 一.excel 1.1xlwings 1.2 xlsxwriter 1.3 xlrd 二.总结 xlwings是一个用于在Python和Microsoft Excel之间进行交互的开源库。它提供了简单且强大的API,使得我们可以使用Python来控制和操作Excel工作簿、单元格、图表等。 xlwings具有以下特点: 可与Excel完全集成:xlwings允许我们直接在Python中

    2024年02月19日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包