首页
/
每日頭條
/
科技
/
如何使用python讀取excel
如何使用python讀取excel
更新时间:2024-11-30 07:13:13

在實際應用中,經常會遇到需要讀取或導入Excel文件的情況,那麼在Python中如何讀取 Excel 表格呢?

本文中介紹如何使用Tablib庫來導入Excel文件。

Tablib是一個表格數據集庫,可用于導入、導出和操作表格數據集,Tablib支持大部分流行的表格數據(文件)格式:

cli

csv

dbf

df (DataFrame)

html

jira

json

latex

ods

rst

tsv

xls

xlsx

yaml

其中,xls和xlsx就是Excel文件格式。

我們看看Tablib的使用方法。

安裝

執行命令

pip install “tablib[all]”

安裝Tablib及所有支持格式的依賴項。

如果隻需支持xls,xlsx格式,則使用下述命令:

pip install "tablib[xls,xlsx]"

讀取Excel文件

Tablib的核心是Dataset對象,我們通過創建Databook或Dataset來實現對數據表的讀取。我們使用一個示例Excel文件,該文件隻有一個工作表,表格内容如下:

如何使用python讀取excel(Python之讀取Excel文件)1

demo.xlsx文件

下面的代碼對該文件進行讀取。

from tablib import Dataset,Databook #打開Xcel文件,注意xlsx的打開方式為字節方式”rb“; CSV等類型的文件則采用文本方式打開。 filepath = "demo.xlsx" f = open(filepath,"rb") multi_sheet = False #對于多工作表的Excel表格,使用Databook讀取工作表 if multi_sheet: databook = Databook().load(f.read(),headers=False,format="xlsx") datasets = databook.sheets() #獲得第2個工作表 dataset = datasets[1] else:#對于隻有一個工作表的Excel表格,可直接使用Dataset讀取dataset對象 dataset = Dataset().load(f.read(),headers=False,format="xlsx") f.close() print(dataset)

在上述代碼中,使用open打開Excel文件,調用f.read()作為輸入流傳遞給Dataset對象讀取。需要注意的是xlsx文件的打開方式為字節方式"rb"; 而CSV等文本類型的文件則采用文本方式打開。

上述代碼的輸出結果如下:

簡單的表格示例|None|None|None None |None|None|None 姓名 |年齡 |身高 |體重 張三 |18 |178 |68 李四 |20 |177 |65 王五 |22 |176 |70

上面代碼中隻是取到了數據,還需要對數據進行一些處理,包括設置表頭、删除非标準數據行等。

#接續上面的代碼 #設置表頭和标題 dataset.title = dataset[0] dataset.headers = dataset[2] #前3行不是數據,删除。 del dataset[:3] print(dataset)

輸出結果:

姓名|年齡|身高 |體重 --|--|---|-- 張三|18|178|68 李四|20|177|65 王五|22|176|70

Dataset對象設置了表頭之後,我們就可以按列名獲取數據了。

#打印‘姓名’列 print(dataset["姓名"])

輸出結果:

['張三', '李四', '王五']

以上代碼在Python3.7運行通過。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
什麼是數字編程串連記憶法
什麼是數字編程串連記憶法
什麼是數字編程串連記憶法?其實從字面上我們就能理解它的意思,它就是把數字翻譯成編程,然後用聯想的方式把這些編程串連起來,這就叫數字編程串聯法,我來為大家科普一下關于什麼是數字編程串連記憶法?以下内容希望對你有幫助!什麼是數字編程串連記憶法其...
2024-11-30
vivoiqoo手機電池怎麼是4500
vivoiqoo手機電池怎麼是4500
vivoiqoo手機電池怎麼是4500?因為是官方設定的沒有辦法更改iQOO是vivo孵化的全新子品牌,将獨立于vivo運營,打造全新的旗艦系列,今天小編就來說說關于vivoiqoo手機電池怎麼是4500?下面更多詳細答案一起來看看吧!vi...
2024-11-30
尤加利葉玫瑰混搭插花
尤加利葉玫瑰混搭插花
你·的花藝師養成記必備工具每日一花尤加利喜歡ins風文藝小仙女們,一定對尤加利并不陌生,帶着灰度的綠色葉片自帶高級感,不管是單插還是與其他花材組合,都是最佳配角。尤加利是澳大利亞的國樹,又叫尤加利桉樹,主要産于澳洲一帶,是樹袋熊最喜愛的食物...
2024-11-30
浏覽器劫持的網站怎麼恢複
浏覽器劫持的網站怎麼恢複
浏覽器劫持是一種惡意程序,通過浏覽器插件、BHO(浏覽器輔助對象)、WinsockLSP等形式對用戶的浏覽器進行篡改,使用戶的浏覽器配置不正常,被強行引導到商業網站。所謂浏覽器劫持是指網頁浏覽器(IE等)被惡意程序修改。常見現象為主頁及互聯...
2024-11-30
華為手機有翻新的嗎
華為手機有翻新的嗎
作者|HENG來源|極果編輯部一個月前,華為P50雖遲但到。遺憾的是,由于“5G變4G”,導緻不少用戶都觀望不前…如果你和極果君一樣,迫不及待地想要體驗鴻蒙,其實還有一個選擇——用舊手機。#數碼科技要聞#實際上,華為6月份就發布了舊機型的...
2024-11-30
Copyright 2023-2024 - www.tftnews.com All Rights Reserved