如何在Python中導入EXCEL數(shù)據(jù)
一、前期準備
此篇使用兩種導入excel數(shù)據(jù)的方式,形式上有差別,但兩者的根本方法實際上是一樣的。
首先需要安裝兩個模塊,一個是pandas,另一個是xlrd。
在頂部菜單欄中點擊文件,再點擊設置,然后在設置中找到以下界面,并點擊“+”號。
然后會出現(xiàn)以下界面,在搜索框中分別搜索以上兩個模塊:pandas/xlrd。
選中搜索出來的模塊,并點擊左下角的的安裝按鈕,便可將模塊安裝到自己電腦中。
需要注意的是,xlrd的新版本并不支持xlsx格式的excel表格,如果安裝新版本的xlrd模塊則會導致在運行代碼的時候報錯,而解決辦法則是選擇較低版本的xlrd模塊進行安裝。一般推薦安裝1.2.0的版本即可。
當兩個模塊都安裝好后,便可以開始編寫代碼用python來讀取excel表格里的數(shù)據(jù)了。
二、編寫代碼基本思路
編寫代碼前需要思考打開EXCEL表格需要幾步,或者說是哪些步驟。
(1)通過文件路徑打開文件的工作簿。
(2)根據(jù)名稱找到工作表 。
(3)根據(jù)行(nrows)和列(ncols)讀取單元格的位置。
(4)通過單元格位置獲取單元格當中的數(shù)據(jù)(數(shù)值)。
三、編寫代碼讀取數(shù)據(jù)
3.1
首先是第一種方式,即導入pandas的方式來讀取EXCEL表格中的數(shù)據(jù)。
其中 r"D:\雜貨\編碼數(shù)據(jù).xlsx" 為表格路徑,sheet_name="Sheet1"為所讀取的表單Sheet1。
pd.read_excel()為讀取表格所使用的方法。
import pandas as pd#導入pandas庫 fm=pd.read_excel(r"D:\雜貨\編碼數(shù)據(jù).xlsx",sheet_name="Sheet1")#用該方法讀取表格和表單里的單元格的數(shù)據(jù) print(fm)
運行以上代碼便可輸出以下結果,由于表單的數(shù)據(jù)過多,因此在輸出時其中間數(shù)據(jù)會以“···”的形式省略掉。
3.2
接下來是使用導入xlrd模塊的方式來讀取表格數(shù)據(jù)。
其中使用了xlrd.open_workbook()方法來打開EXCEL文件。
sheet_by_name()方法用于打開EXCEL文件中的Sheet表單。
通過兩個for循環(huán)遍歷出每個單元格的“行”和“列”的值,相當于坐標系中的“橫軸”和“縱軸”,由此可以定義一個點的位置,EXCEL表格中同理,通過行列的數(shù)值可以得到指定單元格中的值。
最后將讀取得到的每一個單元格的值放入到dataset這個列表中,并通過pprint輸出該列表(若pprint報錯則需要到設置中添加pprint,方法同本文“一、前期準備”部分),輸出結果可見下圖。
注:網(wǎng)絡上有些代碼示例在for循環(huán)中的range()函數(shù)可能會寫成xrange()函數(shù),而在python3中兩者的功能都能在range()函數(shù)中實現(xiàn),因此可直接使用range()函數(shù),而不必太糾結于xrange()函數(shù)的問題。
import xlrd#導入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)相當于坐標系,cell()為單元格,value為單元格的值 dataset.append(col) from pprint import pprint#pprint的輸出形式為一行輸出一個結果,下一個結果換行輸出。實質上pprint輸出的結果更為完整 pprint(dataset)
由于使用了循環(huán)遍歷的方法,因此該處輸出的結果為EXCEL文件中所包含的所有的單元格的值,因此輸出結果很長,與前一部分的輸出結果稍有不同。
四、結語
以上便是本篇的所有內容,編寫該文的目的除了記錄自學python數(shù)據(jù)處理的過程外,順便將一些個人碰到的問題摘取下來,給出個人當時解決該類問題的方法與經(jīng)驗,并分享出來,適用于從零開始學習的朋友。并非專業(yè)的編程博主,存在的表述不正確等問題還請指出與理解。本篇為基礎準備部分,后續(xù)會逐步分享其他的數(shù)據(jù)分析操作的教程。
到此這篇關于使用Python處理EXCEL基礎操作篇1在Python中導入EXCEL數(shù)據(jù)的文章就介紹到這了,更多相關Python處理EXCEL內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- python 刪除excel表格重復行,數(shù)據(jù)預處理操作
- Python實現(xiàn)將MySQL數(shù)據(jù)庫查詢結果導出到Excel
- python使用openpyxl庫讀取Excel文件數(shù)據(jù)
- python中將數(shù)據(jù)生成為Excel文件的5種方法舉例
- Python實現(xiàn)提取JSON文件中指定數(shù)據(jù)并保存至CSV或Excel內
- 如何利用Python讓Excel快速按條件篩選數(shù)據(jù)
- 詳解Python如何實現(xiàn)對比兩個Excel數(shù)據(jù)差異
- Python按條件刪除Excel表格數(shù)據(jù)的方法(示例詳解)
相關文章
Python答題卡識別并給出分數(shù)的實現(xiàn)代碼
本文帶領大家學習Python答題卡識別并給出分數(shù)的實現(xiàn)代碼,代碼實現(xiàn)思路清晰,簡單易懂,Python識別答題卡相關知識感興趣的朋友一起看看吧2021-06-06Python進階學習之pandas中read_csv()用法詳解
python中數(shù)據(jù)處理是比較方便的,經(jīng)常用的就是讀寫文件,提取數(shù)據(jù)等,本文主要介紹其中的一些用法,這篇文章主要給大家介紹了關于Python進階學習之pandas中read_csv()用法的相關資料,需要的朋友可以參考下2024-03-03Jupyter安裝拓展nbextensions及解決官網(wǎng)下載慢的問題
這篇文章主要介紹了Jupyter安裝拓展nbextensions及解決官網(wǎng)下載慢的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03