python pandas 读取excel 去重某一列_Python中Pandas读取修改excel操作攻略(代码示例)...
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于Python中Pandas讀取修改excel操作攻略(代碼示例),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。
環(huán)境:python 3.6.8
以某米賽爾號(hào)舉個(gè)例子吧:
>>> pd.read_excel('1.xlsx', sheet_name='Sheet2')
名字 等級(jí) 屬性1 屬性2 天賦
0 四九幻曦 100 自然 None 21
1 圣甲狂戰(zhàn) 100 戰(zhàn)斗 None 0
2 時(shí)空界皇 100 光 次元 27
我們?cè)谶@里使用了pd.read_excel()函數(shù)來讀取excel,來看一下read_excel()這個(gè)方法的API,這里只截選一部分經(jīng)常使用的參數(shù):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,則返回全表
如果需要返回多個(gè)表, 可以將sheet_name指定為一個(gè)列表, 例如['sheet1', 'sheet2']
可以根據(jù)sheet的名字字符串或索引來值指定所要選取的sheet>>> # 如:
>>> pd.read_excel('1.xlsx', sheet_name=0)
>>> pd.read_excel('1.xlsx', sheet_name='Sheet1')
>>> # 返回的是相同的 DataFrameheader:指定數(shù)據(jù)表的表頭,默認(rèn)值為0, 即將第一行作為表頭usecols:讀取指定的列, 也可以通過名字或索引值>>> # 如:
>>> pd.read_excel('1.xlsx', sheet_name=1, usecols=['等級(jí)', '屬性1'])
>>> pd.read_excel('1.xlsx', sheet_name=1, usecols=[1,2])
>>> # 返回的是相同的 DataFrame
直到某一天泰格爾升了一級(jí), 可以這樣改一下, 當(dāng)然用.iloc或.loc對(duì)象都可以>>> # 讀取文件
>>> data = pd.read_excel("1.xlsx", sheet_name="Sheet1")
>>> # 找到 等級(jí) 這一列,再在這一列中進(jìn)行比較
>>> data['等級(jí)'][data['名字'] == '泰格爾'] += 1
>>> print(data)
LOOK!他升級(jí)了!!>>> data
名字 等級(jí) 屬性1 屬性2 天賦
0 艾歐里婭 100 自然 冰 29
1 泰格爾 81 電 戰(zhàn)斗 16
2 布魯克克 100 水 None 28
現(xiàn)在我們將它保存data.to_excel('1.xlsx', sheet_name='Sheet1', index=False, header=True)index:默認(rèn)為True, 是否加行索引, 直接上圖吧!
左為False, 右為Trueheader:默認(rèn)為True, 是否加列標(biāo), 上圖吧!
左為False, 右為True而io, sheet_name參數(shù)用法同函數(shù)pd.read_excel()
如果我們多捕捉幾只或者多加幾種屬性怎么辦呢?這里給出參考:新增列數(shù)據(jù):
data['列名稱'] = [值1, 值2, ......]>>> data['特性'] = ['瞬殺', 'None', '炎火']
>>> data
名字 等級(jí) 屬性1 屬性2 天賦 特性
0 艾歐里婭 100 自然 冰 29 瞬殺
1 泰格爾 80 電 戰(zhàn)斗 16 None
2 布魯克克 100 水 None 28 炎火
新增行數(shù)據(jù),這里行的num為excel中自動(dòng)給行加的id數(shù)值
data.loc[行的num] = [值1, 值2, ...], (注意與.iloc的區(qū)別)>>> data.loc[3] = ['小火猴', 1, '火', 'None', 31, 'None']
>>> data
名字 等級(jí) 屬性1 屬性2 天賦 特性
0 艾歐里婭 100 自然 冰 29 瞬殺
1 泰格爾 80 電 戰(zhàn)斗 16 None
2 布魯克克 100 水 None 28 炎火
3 小火猴 1 火 None 31 None
說完了增加一行或一列,那怎樣刪除一行或一列呢?可以使用.drop()函數(shù)>>> # 刪除列, 需要指定axis為1,當(dāng)刪除行時(shí),axis為0
>>> data = data.drop('屬性1', axis=1) # 刪除`屬性1`列
>>> data
名字 等級(jí) 屬性2 天賦 特性
0 艾歐里婭 100 冰 29 瞬殺
1 泰格爾 80 戰(zhàn)斗 16 None
2 布魯克克 100 None 28 炎火
3 小火猴 1 None 31 None
>>> # 刪除第3,4行,這里下表以0開始,并且標(biāo)題行不算在類, axis用法同上
>>> data = data.drop([2, 3], axis=0)
>>> data
名字 等級(jí) 屬性2 天賦 特性
0 艾歐里婭 100 冰 29 瞬殺
1 泰格爾 80 戰(zhàn)斗 16 None
>>> # 保存
>>> data.to_excel('2.xlsx', sheet_name='Sheet1', index=False, header=True)
總結(jié)
以上是生活随笔為你收集整理的python pandas 读取excel 去重某一列_Python中Pandas读取修改excel操作攻略(代码示例)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python定义一个矩形类_创建矩形类
- 下一篇: 归并排序执行次数_肯定能懂的常见算法讲解