溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Python處理EXCEL表格

發(fā)布時(shí)間:2022-08-13 14:18:30 來源:億速云 閱讀:248 作者:iii 欄目:開發(fā)技術(shù)

這篇“如何使用Python處理EXCEL表格”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“如何使用Python處理EXCEL表格”文章吧。

一、前期準(zhǔn)備

此篇使用兩種導(dǎo)入excel數(shù)據(jù)的方式,形式上有差別,但兩者的根本方法實(shí)際上是一樣的。

首先需要安裝兩個(gè)模塊,一個(gè)是pandas,另一個(gè)是xlrd。

在頂部菜單欄中點(diǎn)擊文件,再點(diǎn)擊設(shè)置,然后在設(shè)置中找到以下界面,并點(diǎn)擊“+”號(hào)。

如何使用Python處理EXCEL表格

然后會(huì)出現(xiàn)以下界面,在搜索框中分別搜索以上兩個(gè)模塊:pandas/xlrd。

如何使用Python處理EXCEL表格

選中搜索出來的模塊,并點(diǎn)擊左下角的的安裝按鈕,便可將模塊安裝到自己電腦中。

如何使用Python處理EXCEL表格

需要注意的是,xlrd的新版本并不支持xlsx格式的excel表格,如果安裝新版本的xlrd模塊則會(huì)導(dǎo)致在運(yùn)行代碼的時(shí)候報(bào)錯(cuò),而解決辦法則是選擇較低版本的xlrd模塊進(jìn)行安裝。一般推薦安裝1.2.0的版本即可。

如何使用Python處理EXCEL表格

當(dāng)兩個(gè)模塊都安裝好后,便可以開始編寫代碼用python來讀取excel表格里的數(shù)據(jù)了。

二、編寫代碼基本思路

編寫代碼前需要思考打開EXCEL表格需要幾步,或者說是哪些步驟。

(1)通過文件路徑打開文件的工作簿。

(2)根據(jù)名稱找到工作表。

(3)根據(jù)行(nrows)和列(ncols)讀取單元格的位置。

(4)通過單元格位置獲取單元格當(dāng)中的數(shù)據(jù)(數(shù)值)。

三、編寫代碼讀取數(shù)據(jù)

首先是第一種方式,即導(dǎo)入pandas的方式來讀取EXCEL表格中的數(shù)據(jù)。

其中 r"D:\雜貨\編碼數(shù)據(jù).xlsx" 為表格路徑,sheet_name="Sheet1"為所讀取的表單Sheet1。

pd.read_excel()為讀取表格所使用的方法。

import pandas as pd#導(dǎo)入pandas庫
fm=pd.read_excel(r"D:\雜貨\編碼數(shù)據(jù).xlsx",sheet_name="Sheet1")#用該方法讀取表格和表單里的單元格的數(shù)據(jù)
print(fm)

運(yùn)行以上代碼便可輸出以下結(jié)果,由于表單的數(shù)據(jù)過多,因此在輸出時(shí)其中間數(shù)據(jù)會(huì)以“···”的形式省略掉。

如何使用Python處理EXCEL表格

接下來是使用導(dǎo)入xlrd模塊的方式來讀取表格數(shù)據(jù)。

其中使用了xlrd.open_workbook()方法來打開EXCEL文件。

sheet_by_name()方法用于打開EXCEL文件中的Sheet表單。

通過兩個(gè)for循環(huán)遍歷出每個(gè)單元格的“行”和“列”的值,相當(dāng)于坐標(biāo)系中的“橫軸”和“縱軸”,由此可以定義一個(gè)點(diǎn)的位置,EXCEL表格中同理,通過行列的數(shù)值可以得到指定單元格中的值。

最后將讀取得到的每一個(gè)單元格的值放入到dataset這個(gè)列表中,并通過pprint輸出該列表(若pprint報(bào)錯(cuò)則需要到設(shè)置中添加pprint,方法同本文“一、前期準(zhǔn)備”部分),輸出結(jié)果可見下圖。

注:網(wǎng)絡(luò)上有些代碼示例在for循環(huán)中的range()函數(shù)可能會(huì)寫成xrange()函數(shù),而在python3中兩者的功能都能在range()函數(shù)中實(shí)現(xiàn),因此可直接使用range()函數(shù),而不必太糾結(jié)于xrange()函數(shù)的問題。

import xlrd#導(dǎo)入xlrd庫
file='D:/雜貨/編碼數(shù)據(jù).xlsx'#文件路徑
wb=xlrd.open_workbook(filename=file)#用方法打開該文件路徑下的文件
ws=wb.sheet_by_name("Sheet1")#打開該表格里的表單
dataset=[]
for r in range(ws.nrows):#遍歷行
    col=[]
    for l in range(ws.ncols):#遍歷列
        col.append(ws.cell(r, l).value)#將單元格中的值加入到列表中(r,l)相當(dāng)于坐標(biāo)系,cell()為單元格,value為單元格的值
    dataset.append(col)
from pprint import pprint#pprint的輸出形式為一行輸出一個(gè)結(jié)果,下一個(gè)結(jié)果換行輸出。實(shí)質(zhì)上pprint輸出的結(jié)果更為完整
pprint(dataset)

如何使用Python處理EXCEL表格

由于使用了循環(huán)遍歷的方法,因此該處輸出的結(jié)果為EXCEL文件中所包含的所有的單元格的值,因此輸出結(jié)果很長,與前一部分的輸出結(jié)果稍有不同。

以上就是關(guān)于“如何使用Python處理EXCEL表格”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI