如何在Python中導(dǎo)入EXCEL數(shù)據(jù)
一、前期準(zhǔn)備
此篇使用兩種導(dǎo)入excel數(shù)據(jù)的方式,形式上有差別,但兩者的根本方法實(shí)際上是一樣的。
首先需要安裝兩個(gè)模塊,一個(gè)是pandas,另一個(gè)是xlrd。
在頂部菜單欄中點(diǎn)擊文件,再點(diǎn)擊設(shè)置,然后在設(shè)置中找到以下界面,并點(diǎn)擊“+”號。
然后會(huì)出現(xiàn)以下界面,在搜索框中分別搜索以上兩個(gè)模塊:pandas/xlrd。
選中搜索出來的模塊,并點(diǎn)擊左下角的的安裝按鈕,便可將模塊安裝到自己電腦中。
需要注意的是,xlrd的新版本并不支持xlsx格式的excel表格,如果安裝新版本的xlrd模塊則會(huì)導(dǎo)致在運(yùn)行代碼的時(shí)候報(bào)錯(cuò),而解決辦法則是選擇較低版本的xlrd模塊進(jìn)行安裝。一般推薦安裝1.2.0的版本即可。
當(dāng)兩個(gè)模塊都安裝好后,便可以開始編寫代碼用python來讀取excel表格里的數(shù)據(jù)了。
二、編寫代碼基本思路
編寫代碼前需要思考打開EXCEL表格需要幾步,或者說是哪些步驟。
(1)通過文件路徑打開文件的工作簿。
(2)根據(jù)名稱找到工作表 。
(3)根據(jù)行(nrows)和列(ncols)讀取單元格的位置。
(4)通過單元格位置獲取單元格當(dāng)中的數(shù)據(jù)(數(shù)值)。
三、編寫代碼讀取數(shù)據(jù)
3.1
首先是第一種方式,即導(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ì)以“···”的形式省略掉。
3.2
接下來是使用導(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)
由于使用了循環(huán)遍歷的方法,因此該處輸出的結(jié)果為EXCEL文件中所包含的所有的單元格的值,因此輸出結(jié)果很長,與前一部分的輸出結(jié)果稍有不同。
四、結(jié)語
以上便是本篇的所有內(nèi)容,編寫該文的目的除了記錄自學(xué)python數(shù)據(jù)處理的過程外,順便將一些個(gè)人碰到的問題摘取下來,給出個(gè)人當(dāng)時(shí)解決該類問題的方法與經(jīng)驗(yàn),并分享出來,適用于從零開始學(xué)習(xí)的朋友。并非專業(yè)的編程博主,存在的表述不正確等問題還請指出與理解。本篇為基礎(chǔ)準(zhǔn)備部分,后續(xù)會(huì)逐步分享其他的數(shù)據(jù)分析操作的教程。
到此這篇關(guān)于使用Python處理EXCEL基礎(chǔ)操作篇1在Python中導(dǎo)入EXCEL數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python處理EXCEL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作
- Python實(shí)現(xiàn)將MySQL數(shù)據(jù)庫查詢結(jié)果導(dǎo)出到Excel
- python使用openpyxl庫讀取Excel文件數(shù)據(jù)
- python中將數(shù)據(jù)生成為Excel文件的5種方法舉例
- Python實(shí)現(xiàn)提取JSON文件中指定數(shù)據(jù)并保存至CSV或Excel內(nèi)
- 如何利用Python讓Excel快速按條件篩選數(shù)據(jù)
- 詳解Python如何實(shí)現(xiàn)對比兩個(gè)Excel數(shù)據(jù)差異
- Python按條件刪除Excel表格數(shù)據(jù)的方法(示例詳解)
相關(guān)文章
Python答題卡識別并給出分?jǐn)?shù)的實(shí)現(xiàn)代碼
本文帶領(lǐng)大家學(xué)習(xí)Python答題卡識別并給出分?jǐn)?shù)的實(shí)現(xiàn)代碼,代碼實(shí)現(xiàn)思路清晰,簡單易懂,Python識別答題卡相關(guān)知識感興趣的朋友一起看看吧2021-06-06Python3實(shí)時(shí)操作處理日志文件的實(shí)現(xiàn)
本文主要介紹了Python3實(shí)時(shí)操作處理日志文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Python進(jìn)階學(xué)習(xí)之pandas中read_csv()用法詳解
python中數(shù)據(jù)處理是比較方便的,經(jīng)常用的就是讀寫文件,提取數(shù)據(jù)等,本文主要介紹其中的一些用法,這篇文章主要給大家介紹了關(guān)于Python進(jìn)階學(xué)習(xí)之pandas中read_csv()用法的相關(guān)資料,需要的朋友可以參考下2024-03-03Jupyter安裝拓展nbextensions及解決官網(wǎng)下載慢的問題
這篇文章主要介紹了Jupyter安裝拓展nbextensions及解決官網(wǎng)下載慢的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03python WindowsError的錯(cuò)誤代碼詳解
這篇文章主要介紹了python WindowsError的錯(cuò)誤代碼詳解,因?yàn)槲覀冊跁鴮憄ythone過程中,經(jīng)常會(huì)遇到這樣的錯(cuò)誤,特分享一下需要的朋友可以參考下2017-07-07