翻譯:xlwings快速入門

更新說明下篇亭,這篇文字不是原創(chuàng)昧碉,是翻譯自:xlwings_Quickstart

Quickstart

假設(shè)你已經(jīng)安裝了xlwings嗽元,如果還沒有的話

pip install xlwings

在交互模式下通過python控制Excel

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

>>> import xlwings as xw
#A1單元格輸入"Foo 1"
>>> xw.Range('A1').value = 'Foo 1'
#獲取A1單元格的值
>>> xw.Range('A1').value
'Foo 1'

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

>>> import pandas as pd
>>> df = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b'])
#填充到表格
>>> xw.Range('A1').value = df
從表格中讀取
>>> xw.Range('A1').options(pd.DataFrame, expand='table').value
 a b
0.0 1.0 2.0
1.0 3.0 4.0

填充效果

一個完整的示例:創(chuàng)建一個電子表格蚂夕,添加一個新的工作表,在指定工作表中添加數(shù)據(jù)腋逆。

>>> wb = xw.Book()
>>> wb.sheets.add()
<Sheet [Workbook1]Sheet2>
>>> wb.sheets['Sheet1'].range('A1').value = 'Foo1'

通常婿牍,你可以使用xw.Book就可以定位你打開的多個工作簿中的指定表格。

xw.Book("某某表.xlsx")

然后這篇指南上說可以通過xw.apps[0].books['filenme.xlsx']打開同名Excel惩歉,這里無法驗證等脂。
Matplotlib圖標也可以作為圖片顯示在Excel中

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

宏:在Excel中調(diào)用python

這個我覺得還是蠻牛逼的俏蛮,比方說你熟悉vba,又想寫一些小工具做一些日常處理上遥。
但是在這之前搏屑,你需要搞定加載項,這里有坑可以填:VBA模塊安裝,這里假定你能搞定這些粉楚。
加入你在你的alt+F11里謝了一段很牛逼的代碼

Sub HelloWorld()
 RunPython ("import hello; hello.world()")
End Sub

這段代碼的意思就是:我要通過RunPython模塊導(dǎo)入hello.py腳本辣恋,并且執(zhí)行它里面的函數(shù)。
現(xiàn)在你需要在表格的當前目錄下新建一個hello.py文件模软,里面包含一個work函數(shù)伟骨。

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

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

好了,這段代碼執(zhí)行以后燃异,會以調(diào)用這個函數(shù)的表格為當前表格携狭,并且在當前表格的第一個工作表的A1填上'hello world!'

UDFs 用戶自定義函數(shù)

編寫UDF更加簡單:

import xlwings as xw
@xw.func
def hello(name):
    return 'Hello {0}'.format(name)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市回俐,隨后出現(xiàn)的幾起案子逛腿,更是在濱河造成了極大的恐慌,老刑警劉巖鲫剿,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鳄逾,死亡現(xiàn)場離奇詭異,居然都是意外死亡灵莲,警方通過查閱死者的電腦和手機雕凹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來政冻,“玉大人枚抵,你說我怎么就攤上這事∶鞒。” “怎么了汽摹?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長苦锨。 經(jīng)常有香客問我逼泣,道長,這世上最難降的妖魔是什么舟舒? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任拉庶,我火速辦了婚禮,結(jié)果婚禮上秃励,老公的妹妹穿的比我還像新娘氏仗。我一直安慰自己,他們只是感情好夺鲜,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布皆尔。 她就那樣靜靜地躺著呐舔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪慷蠕。 梳的紋絲不亂的頭發(fā)上珊拼,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天,我揣著相機與錄音砌们,去河邊找鬼杆麸。 笑死,一個胖子當著我的面吹牛浪感,可吹牛的內(nèi)容都是我干的昔头。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼影兽,長吁一口氣:“原來是場噩夢啊……” “哼揭斧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起峻堰,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤讹开,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后捐名,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體旦万,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年镶蹋,在試婚紗的時候發(fā)現(xiàn)自己被綠了成艘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡贺归,死狀恐怖淆两,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拂酣,我是刑警寧澤秋冰,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站婶熬,受9級特大地震影響剑勾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赵颅,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一虽另、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧性含,春花似錦洲赵、人聲如沸鸳惯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绪商,卻和暖如春苛谷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背格郁。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工腹殿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人例书。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓锣尉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親决采。 傳聞我的和親對象是個殘疾皇子自沧,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1.1 VBA是什么 直到90年代早期,使應(yīng)用程序自動化還是充滿挑戰(zhàn)性的領(lǐng)域.對每個需要自動化的應(yīng)用程序,人們不得...
    浮浮塵塵閱讀 21,724評論 6 49
  • 自從2014年開通[完美Excel]微信公眾號以來,堅持分享已經(jīng)學(xué)習(xí)到的Excel和VBA知識和心得树瞭,目前已分享文...
    完美Excel閱讀 8,296評論 6 69
  • 22年12月更新:個人網(wǎng)站關(guān)停拇厢,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,165評論 22 257
  • python學(xué)習(xí)筆記 聲明:學(xué)習(xí)筆記主要是根據(jù)廖雪峰官方網(wǎng)站python學(xué)習(xí)學(xué)習(xí)的,另外根據(jù)自己平時的積累進行修正...
    renyangfar閱讀 3,025評論 0 10
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項目接著寫寫一名3年工作經(jīng)驗的J...
    燕京博士閱讀 7,556評論 1 118