麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Python自動化操作Excel 眾多模塊哪家強?

Python自動化操作Excel 眾多模塊哪家強?

來源:千鋒教育
發布人:qyf
時間: 2022-09-20 17:33:33 1663666413

  大家可能可能會面臨這個問題:

  1.成堆的科學實驗數據需要導入 Excel 進行分析

  2.成堆的銷售數據表格等待統計

  3.成堆的商品數據等待分析

  作為人生苦短的 Python 程序員,該如何優雅地操作 Excel?其實Python提供的操作Excel的庫有7個之多,到底哪個更好使用更加方便呢?首先讓我們來整體把握下不同庫的特點:

  1.xlrd是一個從Excel文件讀取數據和格式化信息的庫,支持.xls以及.xlsx文件。官方文檔:http://xlrd.readthedocs.io/en/latest/

  2.xlwt是一個用于將數據和格式化信息寫入舊Excel文件的庫(如.xls)。官方文檔:https://xlwt.readthedocs.io/en/latest/

  3.xlutils是一個處理Excel文件的庫,依賴于xlrd和xlwt。它僅支持.xls文件的操作。 官方文檔:http://xlutils.readthedocs.io/en/latest/

  4.xlwings 簡單強大,使用方便,可替代VBA。xlwings可以支持.xls讀,支持.xlsx文件讀寫。官方文檔:http://docs.xlwings.org/en/stable/index.html

  5.XlsxWriter 是一個用來寫 .xlsx 文件格式的模塊,但不能用來讀取和修改 Excel 文件。官方文檔:https://xlsxwriter.readthedocs.io/

  6.openpyxl是一個用于讀取和編寫Excel 2010 xlsx/xlsm/xltx/xltm文件的庫。官方文檔:https://openpyxl.readthedocs.io/en/stable/

  7.pandas是一個進行數據處理和分析的強大模塊,有時也可以用來自動化處理Excel,官方文檔:http://pandas.pydata.org/

  另外還有win32com,通過名字大家就知道離不開windows系統,該庫存在于pywin32中,是一個讀寫和處理Excel文件的庫。但是我的電腦是Mac,就不做展開了。 官方文檔:http://pythonexcels.com/python-excel-mini-cookbook/

  DataNitro呢?嚴格來說它是一個Excel 的插件,安裝也需單獨到官網下載。也是僅支持windows系統。 官方文檔:https://datanitro.com/

  具體內容大家也可以參看:http://www.python-excel.org

  環境配置

Picture

  安裝

  7個模塊均為非標準庫,因此都需要在命令行中 pip/pip3進行安裝:

  pip/pip3 install xlrd

  pip/pip3 install xlwt

  pip/pip3 install xlutils

  pip/pip3 install xlwings

  pip/pip3 install XlsxWriter

  pip/pip3 install openpyxl

  pip/pip3 install pandas

  提示:

  • xlutils 僅支持 xls 文件,即2003以下版本;

  • xlwings 安裝成功后,如果運行提示報錯“ImportError: no module named win32api”,請再安裝 pypiwin32 或者 pywin32 包;

  模塊導入

  模塊的導入跟以往導入其他模塊一樣,使用import進行導入,如果名字比較長還可以使用as起個別名。

  import xlrd

  import xlwt

  import xlwings as xw

  import xlsxwriter

  import openpyxl

  import pandas as pd

  xlutils 模塊是 xlrd和 xlwt之間的橋梁,最核心的作用是拷貝一份通過 xlrd 讀取到內存中的 .xls 對象,然后再拷貝對象上通過 xlwt 修改 .xls 表格的內容。xlutils 可以將 xlrd 的 Book 對象復制轉換為xlwt 的Workbook 對象。具體使用時通常導入的是模塊中的copy子模塊:

  import xlutils.copy

  文檔操作

  由于設計模式的不同,導致基本的新建文件、修改文件、保存文件等功能在不同的庫中存在著一定差異,比如xlsxwriter并不支持打開或修改現有文件,xlwings不支持對新建文件的命名等等,但是分析發現xlwings和openpyxl是對excel操作支持最多的兩個庫。

  特別要說明一下xlutils庫,xlrd、xlwt、xlutils 各自的功能都有局限性,但三者互為補充,覆蓋了Excel文件尤其是 .xls 文件的操作。xlwt 可以生成 .xls 文件,xlrd 可以讀取已經存在的 .xls文件,xlutils 連接 xlrd 和 xlwt 兩個模塊,使用戶可以同時讀寫一個 .xls 文件。簡單來說,xlrd 負責讀、xlwt 負責寫、xlutils 負責提供輔助和銜接

Picture(1)

  性能對比

  對幾個庫做了最基本的寫入和讀取測試,分別使用不同庫進行添加及讀取 5000行 * 800列 數據操作,得到所用時間,重復操作取平均值。另外在不同的電腦配置,不同的環境下結果肯定會有出入,數據僅供參考。

Picture(2)

  openpyxl雖然操作Excel的功能強大,但讀寫性能過于糟糕,尤其是寫大表時,會占用大量內存,開啟readonly和writeonly模式后對其性能有大幅提升,尤其是對讀的性能提升很大,使其幾乎不耗時。

  pandas把Excel當作數據讀寫的容器,為其強大的數據分析服務,因此讀寫性能表現中規中矩,但其對Excel文件兼容性是最好的,支持讀寫.xls,.xlsx文件,且支持只讀表中單一工作頁。

  同樣支持此功能的庫還有xlrd,但xlrd只支持讀,并不支持寫,且性能不突出,需要配合xlutils進行Excel操作。

  xlsxwriter功能單一,一般用來創建.xlsx文件,寫入性能中庸。

  綜合考慮,xlwings的表現最佳,正如其名,xlwings——Make Excel Fly!

  通過以上分析,相信大家對幾個庫都有了簡單的了解。你可根據自己的需求和生產環境,選擇合適的 Python-Excel 模塊

  附上一部分常用代碼:

  xlwings基本代碼

  import xlwings as xw

  #連接到excel

  workbook = xw.Book('你的excel文件的路徑')#連接excel文件

  #連接到指定單元格

  data_range = workbook.sheets('Sheet1').range('A1')

  #寫入數據

  data_range.value = ['a','b','c']

  #保存

  workbook.save()

  xlsxwriter基本代碼

  import xlsxwriter as xw

  #新建excel

  workbook = xw.Workbook('你的excel文件的路徑')

  #新建工作薄

  worksheet = workbook.add_worksheet()

  #寫入數據

  worksheet.wirte('A1','a')

  #關閉保存

  workbook.close()

  xlutils基本代碼

  import xlrd #讀取數據

  import xlwt #寫入數據

  import xlutils.copy #操作excel

  # 通過xlrd讀取數據

  #打開excel文件

  workbook = xlrd.open_workbook('你的excel文件的路徑')

  #獲取表單

  worksheet = workbook.sheet_by_index(0)

  #讀取數據

  data = worksheet.cell_value(0,0)

  # 通過xlwt寫入數據

  #新建excel

  wb = xlwt.Workbook()

  #添加工作薄

  sh = wb.add_sheet('Sheet1')

  #寫入數據

  sh.write(0,0,'abc')

  #保存文件

  wb.save('myexcel.xls')

  #打開excel文件

  book = xlrd.open_workbook('你的excel文件的路徑')

  #復制一份

  new_book = copy(book)

  #拿到工作薄

  worksheet = new_book.getsheet(0)

  #寫入數據

  worksheet.write(0,0,'mydata')

  #保存

  new_book.save()

  openpyxl基本代碼

  import openpyxl

  # 新建文件

  workbook = openpyxl.Workbook()

  # 寫入文件

  sheet = workbook.activesheet['A1']='A1'

  # 保存文件

  workbook.save('你的excel保存路徑')

  本文目的并不是要評出一個最好的庫,僅是從不同角度對不同庫進行對比,希望能夠讓大家了解各個庫所擅長的工作。

  只有充分了解不同工具的特點,才能夠在不同的場景下靈活運用不同的方法來高效解決問題!

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 免费看一级淫片成人| 老师让我她我爽了好久动漫| 老汉扛起娇妻玉腿进入h文| 亚洲va久久久噜噜噜久久天堂| 奶交性视频欧美| 神秘电影欧美草草影院麻豆第一页| 小受被强攻按做到哭男男| 超碰8| 国产呦系列呦| 日本不卡一二三| 猫扑两性色午夜视频免费| 无翼乌里番| 中文字幕在线永久视频| 亚洲国产精品综合久久网络| 中文亚洲日韩欧美| 欧美人与性动交另类| 干妞网在线观看| 3d玉蒲团之极乐宝鉴| 欧美亚洲国产一区二区三区| 日女人p| 中文字幕亚洲一区二区三区| 伊人快播| 国产乱子伦在线观看不卡| 男人的好在线观看免费视频| 国产高清一级伦理| 国产精品v欧美精品∨日韩| 色噜噜狠狠色综合日日| 欧美一级欧美三级在线观看| 嫩草影院在线视频| 男人在线资源| 国产一级做a爰片在线| 老鸭窝国产| 在线www| 被黑人插入| 国产成a人片在线观看视频下载 | 波多野结衣大战三个黑鬼| 波多野结衣在丈夫面前| 日本人六九视频jⅰzzz| 久久国产精品99精品国产| 老鸭窝在线播放| 精品一区二区三区自拍图片区|