最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python批量處理Excel文件并轉(zhuǎn)為csv文件示例

 更新時間:2023年12月13日 11:56:41   作者:艾派森  
這篇文章主要介紹了使用Python批量處理Excel文件并轉(zhuǎn)為csv文件示例,文中通過代碼示例給大家介紹非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下

前言

今天一位正在國企實習的朋友突然私信找到我,說領導派了個離譜的活,大概就是需要將一個大文件夾里面的excel文件進行簡單處理后再轉(zhuǎn)為csv格式的文件,然后這個大文件里面有五個二級文件夾,這五個二級文件夾里面都有一個三級文件夾,然后每個三級文件夾里面都有14-18個四級文件夾,每個四級文件夾里面有31個excel文件和極少量csv文件夾。聽起來層級是不是特別饒,而且加起來總共有2000多個excel文件。處理的話是將表格中的時間列格式進行轉(zhuǎn)換,最后存儲為csv文件。這要是人工一個一個文件弄,這得累死人,這種重復的工作當然是交給腳本啦!

一、Python處理Excel

  • Python處理Excel的好處

1.批量操作:當要處理眾多Excel文件時,例如出現(xiàn)重復性的手工勞動,那么使用Python就可以實現(xiàn)批量掃描文件、自動化進行處理,利用代碼代替手工重復勞動,實現(xiàn)自動化,是Python第一個比Excel強大的地方

2.大型文件,當Excel文件超過幾十兆、甚至上百兆時,打開文件很慢、處理文件更加慢,這時候若使用Python,會發(fā)現(xiàn)處理幾十兆、幾百兆甚至幾GB都是沒有問題的

3.當使用Excel進行復雜的計算時,會使用VBA,但是VBA本身是過時并且復雜的語言,Python是當前最簡單且容易實現(xiàn)的一門語言,用Python能夠處理比VBA難度更高的業(yè)務邏輯

4.Python是通用語言,不僅可以處理Excel,使用Python就可以得到很多額外的功能,例如:爬蟲、發(fā)布網(wǎng)頁的Web服務、與數(shù)據(jù)庫進行連接、同時結(jié)合word和PPT進行處理、加入定時任務處理、人工智能分析等,各種額外的功能,這是Excel和VBA所不具備的

  • Python處理Excel主要有三大類庫

1.pandas:是Python領域非常重要的,用于數(shù)據(jù)分析和可視化的類庫,在處理Excel中,90%可以利用pandas類庫就可以搞掂,利用pandas就可以讀取Excel、處理Excel和輸出Excel,但是pandas也有缺點,就是無法做到格式類,例如Excel中合并單元、大量復雜的樣式(看起來很精美)的時候,用pandas無法搞掂,此時,依然是使用pandas結(jié)合openyxl、xlwings來搞掂需求

2.openpyxl:若電腦上未安裝office時,也可以使用openpyxl,這個類型可以運行在linux上,并且也可以實現(xiàn)操作大部分Excel格式和樣式的功能,使用它配合pandas,也可以完成大部分場景的需求

3.xlwings:比openyxl更加強大,只能運行在Windows或者Mac系統(tǒng),并且該系統(tǒng)中必須安裝了office才能運行,xlwings的原理,就是基于當前系統(tǒng)已經(jīng)安裝好的office軟件,來進行功能的拓展來操作Excel

  • 使用pandas的時候,經(jīng)常會結(jié)合其他類庫,來完成更加復雜的功能

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

    • flask:可以做網(wǎng)頁,把表格展示在網(wǎng)頁上

    • Matplotlib:讀取表格后,進行可視化

    • sklearn:進行復雜的數(shù)據(jù)分析時,也可以結(jié)合機器學習Sklearn把讀取的Excel數(shù)據(jù),進行數(shù)據(jù)分析和機器學習

    • Python-docx:也可以結(jié)合Python-docx類庫,實現(xiàn)Excel和word的互通

    • smtplib:也可以使用smtplib,講Excel數(shù)據(jù)發(fā)送郵件出去

  • 開發(fā)環(huán)境

操作系統(tǒng):使用windows, mac都可以

Python版本:系統(tǒng)中需要安裝Python3.6以上的版本,Python2已經(jīng)過期不建議使用,Python3.6以前的版本功能相對弱,最好就是采用Python3.6以上的版本

開發(fā)工具:有兩個可以選擇,jupyter notebook,是個網(wǎng)頁編輯器,可以運行Python,常常用于交互性、探索性的開發(fā);pycharm,用于成熟腳本,或者web服務的一些開發(fā);這兩個工具可以隨意選擇。

二、批量處理Excel文件并轉(zhuǎn)為csv文件

技術工具:

Python版本:3.9

代碼編輯器:jupyter notebook

處理思路

寫代碼之前我們首先需要針對這個需求在腦子里做出一個流程圖出來,大概就是使用os庫層層遍歷文件夾,當遍歷到excel文件這一級路徑時,我們使用pandas讀取excel文件,將time時間列轉(zhuǎn)為時間序列類型并符合要求格式,接著使用pandas將處理后的文件保存為csv文件并輸出在同一路徑下,最后再將原始excel文件進行刪除即可。

處理過程

首先看一下文件夾路徑結(jié)構(gòu)

然后我寫的腳本與sample_data在同一級

具體腳本代碼如下:

import pandas as pd
import os
from datetime import datetime
# 基礎文件夾路徑
base_dir = './sample_data'
 
# 循環(huán)遍歷到每一個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()獲取文件夾列表,嵌套四層循環(huán)即可到達excel文件的路徑下,然后使用字符串切割獲取文件名和后綴,判斷后綴是否為excel文件,是的話就使用pandas讀取數(shù)據(jù),然后轉(zhuǎn)換列類型并轉(zhuǎn)為要求格式,最后保存為csv文件并刪除原來excel文件。運行之后就大功告成啦!

最后還得到了朋友的肯定,其實學Python并不一定要去做程序員,像這種辦公軟件(excel、PPT、word)在公司里都是必備技能,但是當要處理的文件太多或者都是一些重復性的工作,那此時你用Python寫個自動化腳本來做,省時又省力,提高工作效率,同時還能獲得領導的欣賞。

以上就是使用Python批量處理Excel文件并轉(zhuǎn)為csv文件示例的詳細內(nèi)容,更多關于Python處理Excel并轉(zhuǎn)為csv的資料請關注腳本之家其它相關文章!

相關文章

  • python使用htmllib分析網(wǎng)頁內(nèi)容的方法

    python使用htmllib分析網(wǎng)頁內(nèi)容的方法

    這篇文章主要介紹了python使用htmllib分析網(wǎng)頁內(nèi)容的方法,涉及Python使用htmllib模塊的相關技巧,需要的朋友可以參考下
    2015-05-05
  • 使用python代碼進行身份證號校驗的實現(xiàn)示例

    使用python代碼進行身份證號校驗的實現(xiàn)示例

    這篇文章主要介紹了使用python代碼進行身份證號校驗的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Python創(chuàng)建多線程的兩種常用方法總結(jié)

    Python創(chuàng)建多線程的兩種常用方法總結(jié)

    這篇文章主要為大家詳細介紹了Python中創(chuàng)建多線程的兩種常用方法,文中的示例代碼簡潔易懂,對我們掌握Python有一定的幫助,需要的可以收藏一下
    2023-05-05
  • 淺析Python 多行匹配模式

    淺析Python 多行匹配模式

    這篇文章主要介紹了Python 多行匹配模式的相關資料,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • pyqt5+opencv?實現(xiàn)讀取視頻數(shù)據(jù)的方法

    pyqt5+opencv?實現(xiàn)讀取視頻數(shù)據(jù)的方法

    這篇文章主要介紹了pyqt5+opencv?實現(xiàn)讀取視頻數(shù)據(jù)的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • Python3基礎教程之遞歸函數(shù)簡單示例

    Python3基礎教程之遞歸函數(shù)簡單示例

    這篇文章主要給大家介紹了關于Python3基礎教程之遞歸函數(shù)簡單示例的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python3具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • 解決python3 urllib 鏈接中有中文的問題

    解決python3 urllib 鏈接中有中文的問題

    今天小編就為大家分享一篇解決python3 urllib 鏈接中有中文的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python利用Selenium實現(xiàn)自動觀看學習通視頻

    Python利用Selenium實現(xiàn)自動觀看學習通視頻

    Selenium是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。本文主要介紹了利用Selenium實現(xiàn)自動觀看學習通視頻,需要的同學可以參考一下
    2021-12-12
  • 10分鐘快速入門Pandas庫

    10分鐘快速入門Pandas庫

    pandas?是基于NumPy?的一種工具,該工具是為解決數(shù)據(jù)分析任務而創(chuàng)建的,這篇文章主要介紹了10分鐘快速入門Pandas庫,重點介紹pandas常見使用方法,結(jié)合實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • python 刪除指定時間間隔之前的文件實例

    python 刪除指定時間間隔之前的文件實例

    下面小編就為大家分享一篇python 刪除指定時間間隔之前的文件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論

宣城市| 蒲江县| 禄丰县| 子长县| 正宁县| 商丘市| 手游| 许昌县| 深圳市| 饶河县| 英吉沙县| 盐源县| 兴安盟| 界首市| 博兴县| 防城港市| 鹤庆县| 璧山县| 江门市| 瑞昌市| 四平市| 七台河市| 宝应县| 滦南县| 巴中市| 乾安县| 乌拉特前旗| 犍为县| 姜堰市| 夏河县| 和田市| 习水县| 三门县| 巨鹿县| 阿拉尔市| 堆龙德庆县| 白河县| 通道| 溧水县| 阳春市| 会昌县|