python中讀取 Excel 表格數據

pandas中讀取 Excel 表格后,有多種方式可以按列、按行提取數據,下面我將詳細介紹常見的方法。

0.聲明

在本文中我使用的excel表內容如下:

1. 讀取 Excel 文件

首先,我們需要使用 pandasread_excel 函數讀取 Excel 文件,示例代碼如下:

import pandas as pd# 讀取 Excel 文件
df = pd.read_excel(excel_file_path, sheet_name)
  • excel_file_path為文件路徑
  • sheet_name為工作表名稱

2. 按列提取數據

2.1 通過列名提取單列數據

可以使用方括號 [] 并傳入列名來提取單列數據,提取后的數據類型為 pandas.Series

# 提取名為 'age' 的列
column_data = df['age']
print(column_data)

2.2 通過列名提取多列數據

若要提取多列數據,可在方括號 [] 中傳入一個包含列名的列表,提取后的數據類型為 pandas.DataFrame

# 提取 'age' 和 'name' 兩列
columns_data = df[['age', 'name']]
print(columns_data)

2.3 通過列索引提取單列數據

使用 iloc 方法,通過列的整數索引來提取單列數據。

# 提取第 0 列(索引從 0 開始)
first_column = df.iloc[:, 0]
print(first_column)

2.4 通過列索引提取多列數據

同樣使用 iloc 方法,通過指定列索引范圍來提取多列數據。

# 提取第 0 列到第 2 列(不包含第 2 列)
selected_columns = df.iloc[:, 0:2]
print(selected_columns)

3. 按行提取數據

3.1 通過行索引提取單行數據

使用 iloc 方法,通過行的整數索引來提取單行數據,提取后的數據類型為 pandas.Series

# 提取第 0 行(索引從 0 開始)
first_row = df.iloc[0]
print(first_row)

3.2 通過行索引提取多行數據

使用 iloc 方法,通過指定行索引范圍來提取多行數據,提取后的數據類型為 pandas.DataFrame

# 提取第 0 行到第 2 行(不包含第 2 行)
selected_rows = df.iloc[0:2]
print(selected_rows)

3.3 通過條件篩選提取行數據

可以根據某列的條件來篩選出符合條件的行。

#提取 'age 列中值大于 10 的行
filtered_rows = df[df['age'] > 10]
print(filtered_rows)

4. 按行和列同時提取數據

4.1 使用 iloc 按行和列索引提取數據
# 提取第 0 行到第 2 行(不包含第 2 行)和第 0 列到第 2 列(不包含第 2 列)的數據
subset = df.iloc[0:2, 0:2]
print(subset)

5.總代碼

這是本文中所使用的代碼,大家可以復制下來自己運行一遍

import pandas as pdexcel_file_path="./data.xlsx"
sheet_name="Sheet1"
# 讀取 Excel 文件
df = pd.read_excel(excel_file_path, sheet_name)# 提取名為 'age' 的列
print("提取名為 'age' 的列")
column_data = df['age']
print(column_data)# 提取 'age' 和 'name' 兩列
print("提取 'age' 和 'name' 兩列")
columns_data = df[['age', 'name']]
print(columns_data)# 提取第 0 列(索引從 0 開始)
print("提取第 0 列(索引從 0 開始)")
first_column = df.iloc[:, 0]
print(first_column)# 提取第 0 列到第 2 列(不包含第 2 列)
print("提取第 0 列到第 2 列(不包含第 2 列)")
selected_columns = df.iloc[:, 0:2]
print(selected_columns)# 提取第 0 行(索引從 0 開始)
print("提取第 0 行(索引從 0 開始)")
first_row = df.iloc[0]
print(first_row)# 提取第 0 行到第 2 行(不包含第 2 行)
print("提取第 0 行到第 2 行(不包含第 2 行)")
selected_rows = df.iloc[0:2]
print(selected_rows)# 提取 'age 列中值大于 10 的行
print("提取 'age 列中值大于 10 的行")
filtered_rows = df[df['age'] > 10]
print(filtered_rows)# 提取第 0 行到第 2 行(不包含第 2 行)和第 0 列到第 2 列(不包含第 2 列)的數據
print("提取第 0 行到第 2 行")
subset = df.iloc[0:2, 0:2]
print(subset)

6.總結

通過學習以上代碼,你會掌握excel讀取數據的基本方法。在python中會將讀取的excel轉換為DataFrame格式。這是一個功能強大且靈活的數據結構,在數據處理、分析和可視化等領域都有廣泛的應用,你可以通過閱讀我的另一篇文章來了解DataFrame格式的常見用法,

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90025.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90025.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90025.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法訓練營day28 貪心算法②122.買賣股票的最佳時機II、55. 跳躍游戲、 45.跳躍游戲II 、1005.K次取反后最大化的數組和

貪心算法第二篇博客!感覺這篇博客中的算法都很巧妙,需要動動腦筋 122.買賣股票的最佳時機II (這道題可以遍歷數組,如果不能遍歷的話,就不能做了,需要注意的是: 只有一只股票!當前只…

NumPy核心操作全攻略

NumPy(Numerical Python)是 Python 生態中用于科學計算的核心庫,提供高性能的多維數組對象(ndarray)及相關的數學運算工具。其核心功能圍繞數組操作、線性代數、隨機數生成等,是數據科學、機器學習等領域的…

Redis 主從同步對象模型

淘汰策略 對最外層的key進行淘汰 expire(秒)/pexpire(毫秒) ttlmaxmemory:最大內存的一半(持久化fork()子進程) 數據遷移需要額外的空間 maxmemory-policy 提供淘汰機制 默認不會淘汰 lru 最近最少使用 lfu最近最少頻次 voltaile 對由expire的進行淘汰持久化: fork:寫時復制原理…

C++ 使用 constexpr 、查表法、分治法加速位鏡像翻轉

代碼////// brief 左右翻轉位。////// note 翻轉后&#xff0c;最低位位將變為最高位&#xff0c;最高位將變為最低位。//////template <typename T>requires(std::is_same_v<T, uint8_t>)constexpr T Reverse(T value){int32_t bit_count sizeof(T) * 8;for (int…

知識庫搭建之Meilisearch‘s 搜索引擎 測評-東方仙盟測評師

windows 啟動后 啟動成功后關鍵信息 Config file path: "none" Database path: "./data.ms" Server listening on: "http://localhost:7700" Environment: "development" Commit SHA: &quo…

【筆記】Anaconda 重裝后虛擬環境寫入路徑異常的完整排查與解決過程

Anaconda 安裝[僅為當前用戶安裝/為所有用戶安裝]選項對環境變量設置的影響_anaconda沒有添加環境變量-CSDN博客 Anaconda 路徑治理指南&#xff1a;路徑精簡、權限優化與環境隔離-CSDN博客 Windows系統下手動升級Anaconda的詳細指南_anaconda升級-CSDN博客 Conda 命令大全&…

QuecPython-正則表達式

該模塊通過正則表達式匹配數據。目前支持的操作符較少&#xff0c;部分操作符暫不支持。示例&#xff1a;import ureres $GNRMC,133648.00,A,3149.2969,N,11706.9027,E,0.055,,311020,,,A,V*18 $GNGGA,133648.00,3149.2969,N,11706.9027,E,1,24,1.03,88.9,M,,M,,*6C $GNGLL,3…

QT窗口(3)-狀態欄

QT窗口&#xff08;3&#xff09;-狀態欄 狀態欄 代碼如下&#xff1a;//存在就獲取&#xff0c;不存在就創建QStatusBar*statusBarthis->statusBar();this->setStatusBar(statusBar);//顯示一個臨時消息statusBar->showMessage("這是一個狀態消息");運行結…

更具個性的域名:解鎖互聯網多元價值的鑰匙

關于Dynadot Dynadot是通過ICANN認證的域名注冊商&#xff0c;自2002年成立以來&#xff0c;服務于全球108個國家和地區的客戶&#xff0c;為數以萬計的客戶提供簡潔&#xff0c;優惠&#xff0c;安全的域名注冊以及管理服務。 Dynadot平臺操作教程索引&#xff08;包括域名郵…

深度學習模塊實踐手冊(第十一期)

46、縮放點積注意力模塊論文《Attention Is All You Need》1、作用&#xff1a; 縮放點積注意力&#xff08;Scaled Dot-Product Attention&#xff09;是 Transformer 模型的核心組件&#xff0c;旨在解決序列建模中長距離依賴關系捕捉的問題。傳統的循環神經網絡&#xff08;…

C++高級技術詳解

C高級技術詳解 目錄 模板 (Templates)右值和移動語義 (Rvalue and Move Semantics)定位 new (Placement new)強類型 (Strong Types)智能指針 (Smart Pointers)容器和算法 (Containers and Algorithms)Lambda表達式常量表達式 (constexpr)多線程和并發 (Multithreading and Co…

跨境賣家緊急自查,Endryko Karmadi四季版畫版權維權

25年7月2日&#xff0c;Keith律所代理印尼藝術家Endryko Karmadi發起全新版權維權行動。案件基本情況&#xff1a;起訴時間&#xff1a;2025-7-2案件號&#xff1a;25-cv-07436品牌&#xff1a;Endryko Karmadi Work原告&#xff1a;Endryko Karmadi 原告律所&#xff1a;keith…

M3088NL是一款網絡濾波器/變壓器支持100M和1000M網絡環境,適用于高速網絡傳輸場景M3088

M3088NL是一款網絡濾波器/變壓器&#xff0c;主要特點如下&#xff1a;兼容性 支持100M和1000M網絡環境&#xff0c;適用于高速網絡傳輸場景。 ?封裝形式 采用SOP/SOIC封裝&#xff0c;便于電路集成。 ?應用場景 常用于網絡電話、開關電源等需要穩定電流的設備&#xff0c;符…

PyQt動態布局管理器:QSplitter詳細指南

PyQt動態布局管理器&#xff1a;QSplitter詳細指南 QSplitter簡介 在PyQt中&#xff0c;除了常見的QVBoxLayout、QHBoxLayout等靜態布局管理器外&#xff0c;QSplitter提供了一種動態布局解決方案。QSplitter允許用戶通過拖拽分隔條來實時調整控件大小&#xff0c;為應用程序提…

Java設計模式之行為型模式(備忘錄模式)實現方式詳解

最近看到一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站 一、基礎實現結構 角色定義與代碼骨架 備忘錄模式包含三個核心角色&#xff0c;其協作關系如下&#xff1a; Originator&#xff08;發起人&…

k8s:離線部署tomcatV11.0.9,報Cannot find /opt/bitnami/tomcat/bin/setclasspath.sh

本文記錄了在離線環境下部署Tomcat容器時遇到的權限問題及解決方案。在Docker環境中運行Tomcat時出現&quot;找不到setclasspath.sh&quot;錯誤&#xff0c;通過添加--security-opt seccompunconfined參數解決。在Kubernetes環境中部署時出現相同問題&#xff0c;通過設置…

Linux操作系統之線程(五):線程封裝

目錄 前言 一、線程ID及進程地址空間布局 二、線程棧與線程局部存儲 三、線程封裝 總結&#xff1a; 前言 我們在上篇文章著重給大家說了一下線程的控制的有關知識。 但是如果我們要使用線程&#xff0c;就得那這pthread_create接口直接用嗎&#xff1f;這樣豈不是太過麻…

【物理與機器學習】從非平衡熱力學到擴散模型

[toc] 0.引子:從非平衡熱力學開始 1.架構簡介 2.反向過程的具體推導與 DDPM 改進摘要&#xff1a;擴散模型將非平衡熱力學的“噪聲注入—去噪逆轉”理念注入生成建模中。DDPM&#xff08;Denoising Diffusion Probabilistic Models&#xff09;在 SD2015 的基礎上&#xff0c;通…

Git常用命令詳解:從入門到精通

前言 Git作為當今最流行的分布式版本控制系統&#xff0c;已經成為開發者必備的技能之一。無論你是獨立開發者還是團隊協作&#xff0c;掌握Git的基本操作都能極大提高工作效率。本文將詳細介紹Git的常用命令&#xff0c;幫助你快速上手并精通Git的基本使用。 一、Git基礎概念…

Vue-22-通過flask接口提供的數據使用plotly.js繪圖(一)

文章目錄 1 任務背景 2 Flask提供接口(server.py) 2.1 原始代碼 2.2 跨域問題 3 Vue3獲取數據并渲染Plotly圖表 3.1 新建工程 3.2 程序 3.2.1 index.html(入口) 3.2.2 cpmponents/Plot.vue(子組件) 3.2.3 App.vue(父組件) 3.2.4 main.ts 3.3 展示 4 選擇圖表類型繪圖 4.1 App.v…