Python調(diào)用Pandas實(shí)現(xiàn)Excel讀取
開頭先BB兩句
基本上來(lái)說(shuō),每周五寫的周報(bào)都是這個(gè)套路。

突然想用Python智能化辦公,修改Excel表格。
先不考慮,合并單元格,修改表格樣式的操作。就先做個(gè)簡(jiǎn)單的讀寫。
操作過(guò)程
安裝Python
工欲善其事必先利其器,首先做好準(zhǔn)備工作,開發(fā)環(huán)境必不可少。
直接官網(wǎng)下載安裝包,我使用的是3.6.5版本。下載安裝后,配置環(huán)境變量。
開發(fā)工具,我就直接用的vscode,安裝了一個(gè)python插件。
按住 ctl + alt + P 設(shè)置Python選擇解釋器即可。

Pandas安裝包
pandas處理 Exce l需要 xlrd、openpyxl 依賴包
pip install pandas pip install xlrd pip install openpyxl
上手使用
正如官網(wǎng)所示,使用方法,就像1、2、3 一樣簡(jiǎn)單
# 1、安裝包 $ pip install pandas # 2、進(jìn)入python的交互式界面 $ python -i # 3、使用Pandas >>> import pandas as pd >>> df = pd.DataFrame() >>> print(df) # 4、輸出結(jié)果 Empty DataFrame Columns: [] Index: []
創(chuàng)建Excel,寫入數(shù)據(jù)
import pandas as pd
from pandas import DataFrame
#創(chuàng)建DataFrame可以用下面字典,也可以用數(shù)組ndarray
dic = {'標(biāo)題列1': ['malena','morgan'],
'標(biāo)題列2': [36, 34]
}
df = pd.DataFrame(dic)
df.to_excel('write_test.xlsx', index=False)執(zhí)行py文件,成功寫入,感覺就是非常的奈斯。

引入pandas DataFrame對(duì)象
import pandas as pd from pandas import DataFrame
寫入 Excel 文件,官方示例:
df.to_excel('foo.xlsx', sheet_name='Sheet1')讀取 Excel 文件,官方示例:
pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])這里有個(gè)小坑:
原因是最近xlrd更新到了2.0.1版本,只支持.xls文件。所以pandas.read_excel(‘xxx.xlsx’)會(huì)報(bào)錯(cuò)。
可以安裝舊版xlrd,在cmd中運(yùn)行:
pip uninstall xlrd pip install xlrd==1.2.0
也可以用openpyxl代替xlrd打開.xlsx文件:
df=pandas.read_excel(‘data.xlsx',engine=‘openpyxl')
讀取Excel文件,并且打印出來(lái)
data = pd.read_excel('zmy-weekly.xlsx', sheet_name='3月', engine='openpyxl')
print(data)打印結(jié)果如下圖所示:

通過(guò)修改 data.loc 的值,改變數(shù)據(jù)。data.loc 可以粗淺的理解為是一個(gè)二維數(shù)組,對(duì)應(yīng)每一行每一列的單元格。
譬如,將“工作事項(xiàng)2”修改為“工作事項(xiàng)5”,對(duì)應(yīng)的單號(hào)格,第3行,第2列
data.loc[3][2] = '工作事項(xiàng)5';
修改完成,最后寫入新的Excel表格,可以設(shè)置sheet_name,譬如設(shè)置為“3月”。
DataFrame(data).to_excel('new.xlsx', sheet_name='3月', index=False, header=True)完整代碼
import pandas as pd
from pandas import DataFrame
# 3.8.2 pandas讀寫Excel
def write_weekly():
data = pd.read_excel('zmy-weekly.xlsx', sheet_name='3月', engine='openpyxl')
print(data)
print(data.loc)
data.loc[2][0] = '3月5周';
data.loc[2][2] = '工作事項(xiàng)4';
data.loc[3][2] = '工作事項(xiàng)5';
data.loc[4][2] = '工作事項(xiàng)6';
data.loc[2][4] = '已完成';
data.loc[3][4] = '已完成';
data.loc[4][4] = '已完成';
data.loc[5][2] = '又是一個(gè)臨時(shí)工作';
data.loc[6][0] = '4月1周';
data.loc[6][2] = '工作事項(xiàng)7';
data.loc[7][2] = '工作事項(xiàng)8';
data.loc[6][4] = '進(jìn)行中';
data.loc[7][4] = '進(jìn)行中';
# # 保存數(shù)據(jù)
DataFrame(data).to_excel('new.xlsx', sheet_name='3月', index=False, header=True)
write_weekly();
樣式不一樣,但是問(wèn)題不大。打開上周的周報(bào),全選,然后格式刷,點(diǎn)擊新增的周報(bào),啊哈。

到此這篇關(guān)于Python調(diào)用Pandas實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python Pandas讀寫Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用python實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了用python實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
利用pyecharts實(shí)現(xiàn)地圖可視化的例子
今天小編就為大家分享一篇利用pyecharts實(shí)現(xiàn)地圖可視化的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
Python將大量遙感數(shù)據(jù)的值縮放指定倍數(shù)的方法(推薦)
本文介紹基于Python中的gdal模塊,批量讀取大量多波段遙感影像文件,分別對(duì)各波段數(shù)據(jù)加以數(shù)值處理,并將所得處理后數(shù)據(jù)保存為新的遙感影像文件的方法,感興趣的朋友一起看看吧2025-01-01
python中使用sys模板和logging模塊獲取行號(hào)和函數(shù)名的方法
這篇文章主要介紹了python中使用sys模板和logging模塊獲取行號(hào)和函數(shù)名的方法,需要的朋友可以參考下2014-04-04
tensorflow 保存模型和取出中間權(quán)重例子
今天小編就為大家分享一篇tensorflow 保存模型和取出中間權(quán)重例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Python判斷以什么結(jié)尾以什么開頭的實(shí)例
今天小編就為大家分享一篇Python判斷以什么結(jié)尾以什么開頭的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
Python3多線程基礎(chǔ)知識(shí)點(diǎn)
在本篇內(nèi)容里小編給大家分享了關(guān)于Python3多線程基礎(chǔ)知識(shí)點(diǎn)內(nèi)容,需要的朋友們跟著學(xué)習(xí)參考下。2019-02-02

