中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

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

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

開(kāi)通VIP
pandas如何將多個(gè)DataFrame寫(xiě)入同一個(gè)excel工作簿中

日常的數(shù)據(jù)分析工作中,很多時(shí)候我們會(huì)通過(guò)excel的形式將分析結(jié)果展示給領(lǐng)導(dǎo)或同事。前面一些文章我們也簡(jiǎn)單提到過(guò)pandas與excel的i/o問(wèn)題,今天我們?cè)偕钊胍徊剑绾螌⒍鄠€(gè)分析后的結(jié)果,也就是多個(gè)DataFrame,寫(xiě)入同一個(gè)excel工作簿中呢?

直奔主題。

先導(dǎo)入包,然后用字典構(gòu)建一個(gè)測(cè)試用的DF:

 

 

然后讓它繁衍一下,復(fù)制幾個(gè)同樣的DF出來(lái)待用:

 

 

之前說(shuō)到過(guò),用Python的pandas包把數(shù)據(jù)結(jié)構(gòu)寫(xiě)入excel,主要用到的是pd.to_excel()。然而比較尷尬的是,這個(gè)方法缺少了一個(gè)類似pd.to_csv()中的mode參數(shù),以至于你每次用諸如pd.to_excel(文件名)的形式去寫(xiě)入excel時(shí),系統(tǒng)都會(huì)幫你重新創(chuàng)建一個(gè)新的文件。也就意味著前面的文件會(huì)被覆蓋掉,你得到的只能是最后一個(gè)DF寫(xiě)入的結(jié)果文件。

那么,有其他的辦法,讓好幾個(gè)DF寫(xiě)入到同一個(gè)excel文件中嗎?

如果這樣常見(jiàn)的問(wèn)題都沒(méi)法解決的話,人生苦短,我用Python也就白說(shuō)這么多年了。我們可以通過(guò)創(chuàng)建一個(gè)ExcelWriter對(duì)象,來(lái)完美解決上面的問(wèn)題。代碼如下:

 

 

這個(gè)寫(xiě)入對(duì)象,會(huì)幫我們將DF寫(xiě)入到test1這個(gè)excel工作簿中。

接下來(lái)我們依次將之前創(chuàng)建和繁衍好的DF寫(xiě)入到df1到df4這四個(gè)工作表中,如下:

 

 

到這里,有的朋友發(fā)現(xiàn)問(wèn)題了,為什么我運(yùn)行完代碼,還是沒(méi)有看到創(chuàng)建的excel工作簿呢?實(shí)際上,上面那一步做完,數(shù)據(jù)還只是存在于緩存中,需要我們?cè)龠\(yùn)行下面一句代碼,數(shù)據(jù)才能寫(xiě)入到硬盤(pán)中:

 

 

我們打開(kāi)新鮮出爐的test1文件來(lái)檢查一下,發(fā)現(xiàn)一共有四個(gè)工作表,表里頭的數(shù)據(jù)也跟我們寫(xiě)入的相同,沒(méi)有出現(xiàn)錯(cuò)誤:

 

 

另外,如果想把這四個(gè)DF都寫(xiě)在同一個(gè)工作簿的同一個(gè)工作表里,又該怎么辦呢?

熟悉pd.to_excel()朋友不難想到,可以利用startcol和startrow這兩個(gè)參數(shù)來(lái)實(shí)現(xiàn):

 

 

如上,我們重新創(chuàng)建一個(gè)writer2對(duì)象,在將DF寫(xiě)入到excel的時(shí)候,并沒(méi)有傳遞sheet_name參數(shù),這也就意味著所有的DF都會(huì)默認(rèn)寫(xiě)入到Sheet1里頭。

為了防止DF都寫(xiě)入到工作表同一地方以至于出現(xiàn)重合情況,我們可以設(shè)置DF在寫(xiě)入時(shí)的起始行和起始列。如df1沒(méi)有傳遞除writer2以外的任何參數(shù),則會(huì)默認(rèn)從Sheet1的第一行第一列開(kāi)始寫(xiě)入數(shù)據(jù)。df2指定startcol=8,意即該DF在寫(xiě)入到Sheet1中時(shí),會(huì)從第一行第九列(不是第八列開(kāi)始,不明白這塊的同學(xué)可以去官網(wǎng)看看這個(gè)參數(shù)到底是什么意思,好好理解一下Python和excel起始數(shù)字的不同之處?。。。╅_(kāi)始寫(xiě)入數(shù)據(jù)。同樣的,df3會(huì)從第11行第1列開(kāi)始寫(xiě)入數(shù)據(jù),df4會(huì)從第11行第9列寫(xiě)入數(shù)據(jù)。

接著writer2.save()一下,數(shù)據(jù)寫(xiě)入到硬盤(pán),我們來(lái)檢查一下:

 

 

呈現(xiàn)出的結(jié)果跟我們的需求是一樣的。當(dāng)然,格式方面,還需要自己再稍微調(diào)整一下。

最后說(shuō)一個(gè)舊聞,據(jù)說(shuō)微軟已經(jīng)考慮要把Python接納為excel的操作腳本語(yǔ)言之一了?;蛟S在不久的將來(lái),除了vba之外,你還可以直接在excel里用Python來(lái)做一些自動(dòng)化的事情了。想想還挺美,期待一下吧。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
請(qǐng)問(wèn)dataframe里面的這個(gè)我怎么變成6/27/2022或者2022-6-27
大話 Python:python 操作 excel 系列 -- pandas 讀取、分析、保存
python中判斷一個(gè)dataframe非空
Python 如何將數(shù)據(jù)寫(xiě)入Excel的不同或同一個(gè)工作簿中
用Python的pandas框架操作Excel文件中的數(shù)據(jù)教程
如果只有1小時(shí)學(xué)Python,看這篇就夠了
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服