国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
xlwings-能讓 Excel 飛上天

來(lái)源:Python 技術(shù)「ID: pythonall」

人生苦短,我用 Python!

Python 作為一種腳本語(yǔ)言,其編程方式越來(lái)越受程序員們的青睞,同時(shí)其應(yīng)用也越來(lái)越廣泛,其中數(shù)據(jù)分析崗位人才需求也日益漸增,運(yùn)用 Python 相關(guān)模塊進(jìn)行數(shù)據(jù)分析能大大提升工作效率,減輕數(shù)據(jù)分析人員的工作負(fù)擔(dān)。在日常辦公中,使用 Python 的場(chǎng)景也越來(lái)越多,很多重復(fù)的工作直接交給程序執(zhí)行效率會(huì)大大提高,所以 Python 操作 Excel 也成為每一個(gè)數(shù)據(jù)分析人員的必備技能,今天的文章就一起來(lái)看看 Python 中能操作 Excel 工作表的神器。

Python 操作 Excel 模塊簡(jiǎn)介

Python 操作 Excel 的模塊,網(wǎng)上提到的模塊大致有:xlwings、xlrd、xlwt、openpyxl、pyxll 等,他們提供的功能歸納起來(lái)無(wú)非有兩種形式:

  • 1、用 Python 讀寫(xiě) Excel 文件,實(shí)際上就是讀寫(xiě)有格式的文本文件,操作 excel 文件和操作 text、csv 文件沒(méi)有區(qū)別,Excel 文件只是用來(lái)儲(chǔ)存數(shù)據(jù)。

  • 2、除了操作數(shù)據(jù),還可以調(diào)整Excel文件的表格寬度、字體顏色等。另外需要提到的是用 COM 調(diào)用 Excel 的 API 操作 Excel 文檔同樣也是可行的,相當(dāng)麻煩基本和 VBA 沒(méi)有區(qū)別。

關(guān)于 xlwings

為什么 xlwings 能讓 Excel 飛起來(lái)呢,因?yàn)?xlwings 支持 Excel 的讀寫(xiě)操作。具體使用請(qǐng)參照 官網(wǎng) ,一切技術(shù)的出現(xiàn)都是為了滿足人的惰性,因此 xlwings 能讓繁瑣的工作簡(jiǎn)單化、簡(jiǎn)潔化。

Xlwings 是開(kāi)源且免費(fèi)的工具,能夠非常方便的讀寫(xiě) Excel 文件中的數(shù)據(jù),并且能夠進(jìn)行單元格格式的修改。

xlwings 還可以和 matplotlib、numpy 以及 pandas 無(wú)縫連接,支持讀寫(xiě) numpy、pandas 數(shù)據(jù)類型,將 matplotlib 可視化圖表導(dǎo)入到 excel 中。

最重要的是 xlwings 可以調(diào)用 Excel 文件中 VBA 寫(xiě)好的程序,也可以讓 VBA 調(diào)用用 Python 寫(xiě)的程序。

xlwings 優(yōu)點(diǎn)

  • xlwings 能夠非常方便的讀寫(xiě) Excel 文件中的數(shù)據(jù),并且能夠進(jìn)行單元格格式的修改
  • xlwings 可以和 Matplotlib 以及 Pandas 無(wú)縫連接
  • xlwings 可以調(diào)用 Excel 文件中 VBA 寫(xiě)好的程序,也可以讓 VBA 調(diào)用 Python 寫(xiě)的程序。
  • xlwings 開(kāi)源免費(fèi),并且一直在更新

xlwings 基本操作

xlwings 基本對(duì)象

xlwings 安裝和使用

和其他模塊使用一樣,xlwings 在使用之前也需要安裝,本文環(huán)境為 Python 3.6 版本的 Windows 環(huán)境。

模塊安裝

安裝xlwings的最簡(jiǎn)單方法是通過(guò)pip:


 pip install xlwings
 

或者使用conda:


 conda install xlwings
 

再或者


conda install -c conda-forge xlwings

引入模塊使用


import xlwings as xw

Python to Excel

連接到工作簿最簡(jiǎn)單便捷的方法是由 xw.Book 提供:它在所有應(yīng)用程序?qū)嵗胁檎以摴ぷ鞑静⒎祷劐e(cuò)誤,但如果同一個(gè)工作簿在多個(gè)實(shí)例中打開(kāi),要連接到活動(dòng)應(yīng)用程序?qū)嵗械墓ぷ鞑?,則需要使用 xw.books 并引用特定應(yīng)用程序, 使用區(qū)別如下:

Header1Header2Header3
New bookxw.Book()xw.books.add()
Unsaved bookxw.Book('Book1')xw.books['Book1']
UBook by (full)namexw.Book(r'D:/test/file.xlsx')xw.books.open(r'D:/test/file.xlsx')

:在 Windows 上指定文件路徑時(shí),應(yīng)該通過(guò)在字符串前放置一個(gè) r 來(lái)使用原始字符串,或者使用雙反斜杠:D:\Test\file.xlsx

Excel 活動(dòng)對(duì)象


# 活動(dòng)應(yīng)用程序(即Excel實(shí)例)
app = xw.apps.active

# 活動(dòng)工作簿
wb = xw.books.active  # 在活動(dòng)app
wb = app.books.active  # 在特定app

# 活動(dòng)工作表
sht = xw.sheets.active  # 在活動(dòng)工作簿
sht = wb.sheets.active  # 在特定工作簿

# 活動(dòng)工作表的Range
xw.Range('A1')  #在活動(dòng)應(yīng)用程序的活動(dòng)工作簿的活動(dòng)表上

基本操作

以下代碼展示相關(guān)基本操作:

  • 打開(kāi)表格
  • 引用工作表
  • 引用單元格
  • 引用區(qū)域
  • 寫(xiě)入數(shù)據(jù)(數(shù)據(jù)寫(xiě)入默認(rèn)按照行寫(xiě)入,如果要指定相應(yīng)的列寫(xiě)入則需要添加相應(yīng)參數(shù),指定參數(shù)為:transpose = True)
  • 讀取數(shù)據(jù)

import xlwings as xw
# 打開(kāi)表格
file_path = r'D:/test/file.xlsx'

xw.Book(file_path)   # 固定打開(kāi)表格
xw.books.open(file_path) # 頻繁打開(kāi)表格

# 引用工作表
sht = wb.sheets['sheet1']

# 引用單元格
rng = xw.Range('A1')
# rng = sht[0,0] # 此代碼第一行的第一列即a1,相當(dāng)于 pandas 的切片

# 引用區(qū)域
rng = sht.range('a1:a5')
# rng = sht['a1:a5']
# rng = sht[:5,0]

# 寫(xiě)入數(shù)據(jù)

sht.range('a1').value = 'Hello Excel' # 指定一個(gè)單元格寫(xiě)入數(shù)據(jù)

# 按行寫(xiě)入數(shù)據(jù)
sht.range('a1').value = [1234,5,6,7,8]

# 按照列寫(xiě)入數(shù)據(jù)
sht.range('a2').options(transpose=True).value = [2345678]

# 按照二維列表的方式寫(xiě)入數(shù)據(jù)

sht.range('a9').expand('table').value = [['a''b''c'], ['d''e''f'], ['g''h''i'],['j''k''l']]

# 讀取寫(xiě)入的數(shù)據(jù)

print(sht.range('A1:D5').value)

xlwings 結(jié)合 matplotlib

xlwings 結(jié)合 Matplotlib 使用能講圖畫(huà)貼入到 Excel 中,具體使用 pictures.add() 方法就可以很容易地將Matplotlib圖作為圖片粘貼到表格中。詳細(xì)代碼如下:


 fig = plt.figure()  # 指定畫(huà)布
 # plt.plot([1, 2, 3, 4, 5])
 plt.plot([36,5,3,25,78])
 plt.plot([9,10,31,45])
 plt.plot([6,14,45,31])
 sht = xw.Book(r'G:/test/test.xlsx').sheets[0]
 sht.pictures.add(fig, name='myplt', update=True)

 
結(jié)果圖片

總結(jié)

磨刀不誤砍柴工,今天的文章主要是操作 Excel 的工具 xlwings 介紹,大家都用工具操練起來(lái),好好修煉如何擰好螺絲的內(nèi)功,奧利給!

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
處理Excel的Python算法_2_:批量處理Excel文件的模塊——xlwings
運(yùn)營(yíng)學(xué)Python|Python&Excel聯(lián)動(dòng)(上)
插上翅膀,讓Excel飛起來(lái)——xlwings(三)
Python最好的Excel第三方庫(kù)
詳解python的xlwings庫(kù)讀寫(xiě)excel操作總結(jié)
Python與Excel:使用xlwings打開(kāi)Excel文件
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服