使用Pandas操作Excel文件的技巧與方法分享
Pandas
Pandas 是一個(gè)強(qiáng)大的 Python 庫(kù),用于數(shù)據(jù)分析和處理。它提供了豐富的數(shù)據(jù)結(jié)構(gòu)和函數(shù),可以方便地進(jìn)行數(shù)據(jù)操作和分析。在處理 Excel 數(shù)據(jù)時(shí),Pandas 提供了簡(jiǎn)單而強(qiáng)大的工具,可以幫助用戶輕松地讀取、寫入和操作 Excel 文件。
安裝 Pandas
要使用,當(dāng)然第一步就是安裝??梢允褂?pip 命令進(jìn)行安裝:
pip install pandas
讀取 Excel 文件
使用 Pandas 讀取 Excel 文件非常簡(jiǎn)單。假設(shè)有一個(gè)名為 data.xlsx 的 Excel 文件,包含了一些數(shù)據(jù)??梢允褂?Pandas 的 read_excel 函數(shù)來(lái)讀取這個(gè)文件:
import pandas as pd
?
df = pd.read_excel('data.xlsx')
想要指定sheet,可以這樣寫
import pandas as pd
?
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
想要讀取指定的列,可以這樣寫
import pandas as pd
?
df = pd.read_excel('data.xlsx', sheet_name='Sheet1', converters={"曲目序號(hào)":str})
讀取到文件后,如何獲取數(shù)據(jù)呢?
獲取前5行
df.head()
獲取指定的單行
df.iloc[0].values
獲取指定的多行
df.iloc[[1,2]].values
獲取指定的行列
df.iloc[1,0]
獲取指定的多行多列值
df.loc[[1,2],['教材id','教材名']].values
獲取所有行的指定列
df.loc[:,['教材id','教材名']].values
獲取行號(hào)
df.index.values
獲取列名
df.columns.values
獲取指定列的值
df['教材id'].values
操作 Excel 數(shù)據(jù)
一旦數(shù)據(jù)被讀取到 Pandas 的 DataFrame 中,就可以使用 Pandas 提供的各種函數(shù)和方法來(lái)操作數(shù)據(jù)。例如,可以對(duì)數(shù)據(jù)進(jìn)行篩選、排序、計(jì)算等操作。
案例:計(jì)算平均值
假設(shè) Excel 文件中包含了一個(gè)名為 sales 的列,記錄了銷售額??梢允褂?Pandas 計(jì)算這一列的平均值:
# 計(jì)算銷售額的平均值
average_sales = df['sales'].mean()
print('Average sales:', average_sales)
案例:篩選數(shù)據(jù)
假設(shè)需要篩選出銷售額大于 1000 的數(shù)據(jù):
# 篩選銷售額大于 1000 的數(shù)據(jù)
high_sales = df[df['sales'] > 1000]
print('High sales:', high_sales)
寫入 Excel 文件
除了讀取,Pandas 也可以將數(shù)據(jù)寫入 Excel 文件??梢允褂?to_excel 方法將 DataFrame 中的數(shù)據(jù)寫入到 Excel 文件中:
# 將數(shù)據(jù)寫入 Excel 文件
df.to_excel('output.xlsx', index=False)
實(shí)戰(zhàn):讀取數(shù)據(jù)再寫入表格
df = pd.read_excel('data.xlsx')
test_data=[]
for i in df.index.values:
row_data=df.loc[i,['教材id','教材舊id','教材名','教材封面','作曲家','出版社','曲目id','曲目名','曲目序號(hào)','難度','finale文件','xml文件','png文件開(kāi)始','png文件結(jié)束','mp3文件']].to_dict()
test_data.append(row_data)
?
pd.DataFrame.from_dict(test_data).to_excel("score.xlsx")
這段代碼,我們通過(guò)df.index.values來(lái)獲取行號(hào)的索引,并對(duì)其進(jìn)行遍歷,然后使用df.loc來(lái)獲取每一行指定的數(shù)據(jù),并利用to_dict轉(zhuǎn)成字典,最后再調(diào)用to_excel寫入文件。
最后
這些只是使用 Pandas 進(jìn)行 Excel 數(shù)據(jù)處理的基本用法,當(dāng)然Pandas 非常強(qiáng)大,可以滿足各種數(shù)據(jù)處理需求,包括數(shù)據(jù)清洗、轉(zhuǎn)換、分析等。以后工作中遇到再慢慢摸索更高級(jí)的功能
以上就是使用Pandas操作Excel的技巧與方法分享的詳細(xì)內(nèi)容,更多關(guān)于Pandas操作Excel的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于opencv實(shí)現(xiàn)手勢(shì)控制音量(案例詳解)
這篇文章主要介紹了基于opencv的手勢(shì)控制音量和ai換臉,通過(guò)定義了一個(gè)名為 handDetector 的類,用于檢測(cè)和跟蹤手部,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08
Python使用Rich?type和TinyDB構(gòu)建聯(lián)系人通訊錄
這篇文章主要為大家介紹了Python使用Rich?type和TinyDB構(gòu)建聯(lián)系人通訊錄應(yīng)用程序,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Pytorch實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的分類方式
今天小編就為大家分享一篇Pytorch實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的分類方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
利用Python制作本地Excel的查詢與生成的程序問(wèn)題
最近遇到這樣一個(gè)項(xiàng)目需求制作一個(gè)程序有一個(gè)簡(jiǎn)單的查詢?nèi)肟趯?shí)現(xiàn)Excel的查詢與生成,今天教大家利用Python制作本地Excel的查詢與生成的程序,感興趣的朋友跟隨小編一起看看吧2022-06-06
python-opencv獲取二值圖像輪廓及中心點(diǎn)坐標(biāo)的代碼
今天小編就為大家分享一篇python-opencv獲取二值圖像輪廓及中心點(diǎn)坐標(biāo)的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08

