python使用pandas讀xlsx文件的實(shí)現(xiàn)
使用pandas讀xlsx文件
- 讀取前n行數(shù)據(jù)
- 讀取指定數(shù)據(jù)(指定行指定列)
- 獲取文件行號(hào)和列標(biāo)題
- 將數(shù)據(jù)轉(zhuǎn)換為字典形式
import pandas as pd #1.讀取前n行所有數(shù)據(jù) df1=pd.read_excel('d1.xlsx')#讀取xlsx中的第一個(gè)sheet data1=df1.head(10)#讀取前10行所有數(shù)據(jù) data2=df1.values#list【】 相當(dāng)于一個(gè)矩陣,以行為單位 #data2=df.values() 報(bào)錯(cuò):TypeError: 'numpy.ndarray' object is not callable print("獲取到所有的值:\n{0}".format(data1))#格式化輸出 print("獲取到所有的值:\n{0}".format(data2)) #2.讀取特定行特定列 data3=df1.iloc[0].values#讀取第一行所有數(shù)據(jù) data4=df1.iloc[1,1]#讀取指定行列位置數(shù)據(jù):讀?。?,1)位置的數(shù)據(jù) data5=df1.iloc[[1,2]].values#讀取指定多行:讀取第一行和第二行所有數(shù)據(jù) data6=df1.iloc[:,[0]].values#讀取指定列的所有行數(shù)據(jù):讀取第一列所有數(shù)據(jù) print("數(shù)據(jù):\n{0}".format(data3)) print("數(shù)據(jù):\n{0}".format(data4)) print("數(shù)據(jù):\n{0}".format(data5)) print("數(shù)據(jù):\n{0}".format(data6)) #3.獲取xlsx文件行號(hào)、列號(hào) print("輸出行號(hào)列表{}".format(df1.index.values))#獲取所有行的編號(hào):0、1、2、3、4 print("輸出列標(biāo)題{}".format(df1.columns.values))#也就是每列的第一個(gè)元素 #4.將xlsx數(shù)據(jù)轉(zhuǎn)換為字典 data=[] for i in df1.index.values:#獲取行號(hào)的索引,并對(duì)其遍歷 #根據(jù)i來(lái)獲取每一行指定的數(shù)據(jù),并用to_dict轉(zhuǎn)成字典 row_data=df1.loc[i,['id','name','class','data','score',]].to_dict() data.append(row_data) print("最終獲取到的數(shù)據(jù)是:{0}".format(data)) #iloc和loc的區(qū)別:iloc根據(jù)行號(hào)來(lái)索引,loc根據(jù)index來(lái)索引。 #所以1,2,3應(yīng)該用iloc,4應(yīng)該有l(wèi)oc
數(shù)據(jù):d1.xlsx
id | name | class | data | score |
201901 | A | 1 | Jan-20 | 1.3 |
201902 | B | 2 | Mar-20 | 3.4 |
201903 | C | 3 | May-20 | 3.4 |
201904 | D | 1 | Jan-20 | 3.4 |
201905 | E | 1 | Feb-20 | 5.6 |
201906 | F | 1 | Mar-20 | 4.6 |
201907 | G | 1 | Feb-19 | 7.8 |
201908 | H | 2 | Apr-30 | 5.6 |
201909 | I | 3 | Jan-42 | 5.6 |
201910 | G | 4 | Mar-30 | 4.5 |
201911 | K | 5 | Apr-20 | 3.4 |
201912 | L | 6 | Apr-20 | 2.3 |
201913 | M | 4 | Mar-20 | 2.4 |
運(yùn)行結(jié)果展示
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python網(wǎng)絡(luò)編程之UDP通信實(shí)例(含服務(wù)器端、客戶(hù)端、UDP廣播例子)
UDP,用戶(hù)數(shù)據(jù)報(bào)傳輸協(xié)議,它位于TCP/IP協(xié)議的傳輸層,是一種無(wú)連接的協(xié)議,它發(fā)送的報(bào)文不能確定是否完整地到達(dá)了另外一端2014-04-04Python實(shí)現(xiàn)Markdown格式消除工具
這篇文章主要為大家詳細(xì)介紹了如何使用?Python?和?PyQt5?庫(kù)來(lái)創(chuàng)建一個(gè)簡(jiǎn)單易用的?Markdown?格式消除工具,并且支持實(shí)時(shí)預(yù)覽和文件保存功能,需要的可以了解下2025-02-02pytorch 網(wǎng)絡(luò)參數(shù) weight bias 初始化詳解
這篇文章主要介紹了pytorch 網(wǎng)絡(luò)參數(shù) weight bias 初始化詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06解決Django中checkbox復(fù)選框的傳值問(wèn)題
這篇文章主要介紹了解決Django中checkbox復(fù)選框的傳值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Python使用日志模塊快速調(diào)試代碼并記錄異常信息
本文詳細(xì)介紹了Python logging日志模塊的使用方法,包括如何在代碼中使用logging記錄調(diào)試信息、如何設(shè)置日志級(jí)別、如何記錄異常信息等。通過(guò)本文的指南,讀者可以快速學(xué)會(huì)如何使用logging模塊進(jìn)行調(diào)試,并保留有用的日志信息,便于后續(xù)排查問(wèn)題和優(yōu)化代碼2023-04-04Python在Scrapy中設(shè)置采集深度的實(shí)現(xiàn)
Scrapy是一個(gè)功能強(qiáng)大的Python爬蟲(chóng)框架,通過(guò)設(shè)置采集深度,可以?xún)?yōu)化爬蟲(chóng)效率,并防止爬蟲(chóng)陷入無(wú)盡的鏈接循環(huán),本文詳細(xì)介紹了如何在Scrapy中控制采集深度,感興趣的可以了解一下2024-10-10python爬蟲(chóng)之urllib庫(kù)常用方法用法總結(jié)大全
urllib是python自帶的請(qǐng)求庫(kù),各種功能相比較之下也是比較完備的,下面這篇文章主要給大家介紹了關(guān)于python爬蟲(chóng)之urllib庫(kù)常用方法用法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-11-11Python中的map()函數(shù)和reduce()函數(shù)的用法
這篇文章主要介紹了Python中的map()函數(shù)和reduce()函數(shù)的用法,代碼基于Python2.x版本,需要的朋友可以參考下2015-04-04