日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python Pandas读取修改excel操作攻略

發布時間:2025/3/15 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python Pandas读取修改excel操作攻略 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境:python 3.6.8

以某米賽爾號舉個例子吧:


>>> pd.read_excel('1.xlsx', sheet_name='Sheet2')名字 等級 屬性1 屬性2 天賦 0 四九幻曦 100 自然 None 21 1 圣甲狂戰 100 戰斗 None 0 2 時空界皇 100 光 次元 27

我們在這里使用了pd.read_excel()函數來讀取excel,來看一下read_excel()這個方法的API,這里只截選一部分經常使用的參數:

pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None) io:很明顯, 是excel文件的路徑+名字字符串

(有中文的話python2的老鐵需要使用decode()來解碼成unicode字符串)
例如:

>>> pd.read_excel('例子'.decode('utf-8)) sheet_name:返回指定的sheet
如果將sheet_name指定為None,則返回全表
如果需要返回多個表, 可以將sheet_name指定為一個列表, 例如['sheet1', 'sheet2']

可以根據sheet的名字字符串或索引來值指定所要選取的sheet

>>> # 如: >>> pd.read_excel('1.xlsx', sheet_name=0) >>> pd.read_excel('1.xlsx', sheet_name='Sheet1') >>> # 返回的是相同的 DataFrame header:指定數據表的表頭,默認值為0, 即將第一行作為表頭 usecols:讀取指定的列, 也可以通過名字或索引值 >>> # 如: >>> pd.read_excel('1.xlsx', sheet_name=1, usecols=['等級', '屬性1']) >>> pd.read_excel('1.xlsx', sheet_name=1, usecols=[1,2]) >>> # 返回的是相同的 DataFrame

直到某一天泰格爾升了一級, 可以這樣改一下, 當然用.iloc或.loc對象都可以

>>> # 讀取文件 >>> data = pd.read_excel("1.xlsx", sheet_name="Sheet1")>>> # 找到 等級 這一列,再在這一列中進行比較 >>> data['等級'][data['名字'] == '泰格爾'] += 1 >>> print(data)

LOOK!他升級了!!

>>> data名字 等級 屬性1 屬性2 天賦 0 艾歐里婭 100 自然 冰 29 1 泰格爾 81 電 戰斗 16 2 布魯克克 100 水 None 28

現在我們將它保存

data.to_excel('1.xlsx', sheet_name='Sheet1', index=False, header=True) index:默認為True, 是否加行索引, 直接上圖吧!

左為False, 右為True header:默認為True, 是否加列標, 上圖吧!

左為False, 右為True 而io, sheet_name參數用法同函數pd.read_excel()

如果我們多捕捉幾只或者多加幾種屬性怎么辦呢?這里給出參考:

新增列數據:
data['列名稱'] = [值1, 值2, ......] >>> data['特性'] = ['瞬殺', 'None', '炎火'] >>> data名字 等級 屬性1 屬性2 天賦 特性 0 艾歐里婭 100 自然 冰 29 瞬殺 1 泰格爾 80 電 戰斗 16 None 2 布魯克克 100 水 None 28 炎火

新增行數據,這里行的num為excel中自動給行加的id數值
data.loc[行的num] = [值1, 值2, ...], (注意與.iloc的區別)

>>> data.loc[3] = ['小火猴', 1, '火', 'None', 31, 'None'] >>> data名字 等級 屬性1 屬性2 天賦 特性 0 艾歐里婭 100 自然 冰 29 瞬殺 1 泰格爾 80 電 戰斗 16 None 2 布魯克克 100 水 None 28 炎火 3 小火猴 1 火 None 31 None

說完了增加一行或一列,那怎樣刪除一行或一列呢?可以使用.drop()函數

>>> # 刪除列, 需要指定axis為1,當刪除行時,axis為0 >>> data = data.drop('屬性1', axis=1) # 刪除`屬性1`列 >>> data名字 等級 屬性2 天賦 特性 0 艾歐里婭 100 冰 29 瞬殺 1 泰格爾 80 戰斗 16 None 2 布魯克克 100 None 28 炎火 3 小火猴 1 None 31 None>>> # 刪除第3,4行,這里下表以0開始,并且標題行不算在類, axis用法同上 >>> data = data.drop([2, 3], axis=0) >>> data名字 等級 屬性2 天賦 特性 0 艾歐里婭 100 冰 29 瞬殺 1 泰格爾 80 戰斗 16 None>>> # 保存 >>> data.to_excel('2.xlsx', sheet_name='Sheet1', index=False, header=True)

大家具體可以參考官網提供的API:http://pandas.pydata.org/pand...

總結

以上是生活随笔為你收集整理的Python Pandas读取修改excel操作攻略的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。