Menu
快讀
  • 旅遊
  • 生活
    • 美食
    • 寵物
    • 養生
    • 親子
  • 娛樂
    • 動漫
  • 時尚
  • 社會
  • 探索
  • 故事
  • 科技
  • 軍事
  • 国际
快讀

數據方案超市:Excel調用Python優雅的方式——xlwings

2021 年 3 月 11 日 在人间living

一、 Excel 與 Python 的交互關系

Excel 作爲全世界使用最廣泛的工具,基本等價于辦公室表格表格必備工具。但是對于其VBA的編程則是相對蹩腳~

Python作爲大數據和人工智能的開發語言,擁有衆多成型的工具庫,特別是使用最廣泛的的 Pandas,以及SK-Learn 等算法模型包。(當然,在Excel裏面調用Python TensorFlow實現AI的功能,應該就說不過去的啦~)。

但是,Excel 中怎麽調用 Python,在Excel中也能夠玩Python的算法和模型——是對衆多Excel用戶的賦能。其中,xlwings——則爲基于 Excel 調用 Python提供了完美的支持!

數據方案超市:Excel調用Python優雅的方式——xlwings

三、 xlwings的安裝與使用

xlwings 的中文官方文檔:https://docs.xlwings.org/zh_CN/latest/installation.html

3.1 xlwings 的安裝:pip install xlwings

或者

conda install xlwings

3.2 xlwings 的使用

xlwings 的使用分爲兩個場景: 一個是以 Python爲主,直接通過 xlwings 控制Excel的各種數值和運算;另外一種情況就是以Excel爲主,通過xlwings 調用Python標准庫,得到結果之後再返回Excel。

3.2.1 以Python爲主,通過 xlwings 控制Excel

如果你在ipython/python交互模式下,同時你打開了一個Excel表格.可以簡單地對當前活動進行操作,以及獲取單元格信息。

>>> import xlwings as xw #A1單元格輸入”DataClubs” >>> xw.Range(‘A1’).value = ‘DataClubs’ #獲取A1單元格的值 >>> xw.Range(‘A1’).value ‘DataClubs’

可以讀取Numpy數組和Pandas的DataFrames數組,填充到單元格。同時也很容易從表格中按自己的方式讀取數組。

Sub HelloWorld() RunPython (“import hello; hello.world()”) End Sub

Matplotlib圖標也可以作爲圖片顯示在Excel中

>>> import matplotlib.pyplot as plt >>> fig = plt.figure() >>> plt.plot([1, 2, 3, 4, 5]) [<matplotlib.lines.Line2D at XXXXXX>] >>> wb = xw.Book() >>> wb.sheets[0].pictures.add(fig, name=’MyPlot’, update=True) <Picture ‘MyPlot’ in <Sheet [Workbook4]Sheet1>>

3.2.2 以Excel爲主,通過 xlwings 調用Python標准庫——Excel宏和UDFs函數的方式

首先,通過Excel的的查看代碼,定義以下的函數——需要注意的是函數的名稱和路徑直接影響下一步中對應的 Python文件的名稱和具體的函數名稱

import xlwings as xw @xw.func def hello(name): return ‘Hello {0}’.format(name)

然後,基于以上定義的函數中對應的hello文件名稱,以及對應的world的函數名稱確定,調用 Python的文件名和函數名即可。具體如下:

# hello.py import numpy as np import xlwings as xw

def world(): wb = xw.Book.caller() wb.sheets[0].range(‘A1’).value = ‘Hello World!’

另外, 也可以直接按照以下的方式定義用戶自定義函數(UDFs)——該種情況,在財務報表的分析中可以根據實際情況進行相對標准的定義。(注意,此時的關鍵詞是:@xw.func)

import xlwings as xw @xw.func def hello(name): return ‘Hello {0}’.format(name)

四、 Excel + Python 獲取的中國股票數據的案例

以下是通過 xlwings 實現的,基于Excel調用 Python 獲取的各種股票數據,進而達到玩數據的相關過程。

數據方案超市:Excel調用Python優雅的方式——xlwings

相關文章:

  • 如何加密你的 Python 代碼
  • 有哪些足不出戶,能用十天掌握的新技能?
  • 最新!剛剛,珠海十所優秀中學學區房價曝光.excel
  • 戳破針對「木蘭」編程語言的拙劣謠言
  • 懂Excel輕松入門Python數據分析包pandas(二十七):IF函數代替者
  • 華爲都開始用Linux了,你還不來了解下全球第三大桌面操作系統?
時尚

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

©2025 快讀 | 服務協議 | DMCA | 聯繫我們