最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用pandas和openpyxl讀取Excel表格的方法詳解

 更新時(shí)間:2024年10月03日 09:58:17   作者:代碼伐木匠  
這篇文章主要介紹了Python讀取Excel表格數(shù)據(jù)的方法,Python提供了多種讀取Excel文件的方式,最常用的庫(kù)是pandas和openpyxl,下面我將詳細(xì)介紹如何使用這兩個(gè)庫(kù)來(lái)讀取Excel文件,并包含一些實(shí)用示例,需要的朋友可以參考下

前言

Python 提供了多種讀取 Excel 文件的方式,最常用的庫(kù)是 pandasopenpyxl。下面我將詳細(xì)介紹如何使用這兩個(gè)庫(kù)來(lái)讀取 Excel 文件,并包含一些實(shí)用示例,幫助你撰寫(xiě)博客。

1. 安裝必要的依賴

首先,需要確保安裝了 pandasopenpyxl 庫(kù),這兩個(gè)庫(kù)可以幫助我們輕松讀取 Excel 文件。

你可以使用以下命令安裝它們:

pip install pandas openpyxl

  • pandas:用于數(shù)據(jù)處理和分析,它內(nèi)置了讀取 Excel 文件的功能。
  • openpyxl:一個(gè)讀寫(xiě) Excel 2007 及以上版本的 Excel 文件的庫(kù)。

2. 讀取Excel文件

假設(shè)你有一個(gè)Excel文件data.xlsx,包含如下數(shù)據(jù):

NameAgeCity
John25New York
Alice30London
Bob22Tokyo

你可以使用 pandas 來(lái)讀取文件的內(nèi)容。

import pandas as pd
# 讀取Excel文件
df = pd.read_excel('data.xlsx')
# 顯示數(shù)據(jù)
print(df)

輸出:

    Name  Age      City
0   John   25  New York
1  Alice   30    London
2    Bob   22     Tokyo

3. 讀取特定的工作表

Excel 文件通常包含多個(gè)工作表??梢酝ㄟ^(guò)指定 sheet_name 來(lái)讀取特定的工作表。例如,假設(shè) data.xlsx 文件中有一個(gè)名為 Sheet2 的工作表:

df = pd.read_excel('data.xlsx', sheet_name='Sheet2')
print(df)

你也可以通過(guò)索引來(lái)指定工作表:

df = pd.read_excel('data.xlsx', sheet_name=0)  # 讀取第一個(gè)工作表

4. 讀取多張工作表

如果你想一次性讀取 Excel 文件中的所有工作表,可以使用 sheet_name=None,它會(huì)返回一個(gè)包含多個(gè) DataFrame 的字典。

dfs = pd.read_excel('data.xlsx', sheet_name=None)
# 遍歷所有工作表
for sheet, data in dfs.items():
    print(f"工作表名: {sheet}")
    print(data)

5. 只讀取特定列

有時(shí),你只需要讀取 Excel 文件中的部分列??梢酝ㄟ^(guò) usecols 參數(shù)指定需要讀取的列。

df = pd.read_excel('data.xlsx', usecols=['Name', 'City'])
print(df)

輸出:

    Name      City
0   John  New York
1  Alice    London
2    Bob     Tokyo

你也可以使用列的索引來(lái)讀取特定列,例如:

df = pd.read_excel('data.xlsx', usecols=[0, 2])  # 讀取第一和第三列
print(df)

6. 處理缺失數(shù)據(jù)

在讀取 Excel 數(shù)據(jù)時(shí),可能會(huì)遇到空白單元格。你可以使用 pandas 處理這些缺失數(shù)據(jù)。例如,可以通過(guò) na_values 參數(shù)將特定的值識(shí)別為 NaN,或者使用 fillna() 方法填充缺失值。

# 將特定值識(shí)別為NaN
df = pd.read_excel('data.xlsx', na_values=['N/A', 'NA'])
# 填充缺失數(shù)據(jù)
df.fillna(value={'Age': 0, 'City': 'Unknown'}, inplace=True)
print(df)

7. 將Excel數(shù)據(jù)轉(zhuǎn)換為其他格式

有時(shí)你可能需要將讀取的 Excel 數(shù)據(jù)保存為其他格式,例如 CSV 文件或 JSON 文件。pandas 允許你輕松實(shí)現(xiàn)這一點(diǎn)。

# 保存為CSV文件
df.to_csv('data.csv', index=False)
# 保存為JSON文件
df.to_json('data.json', orient='records')

8. 讀取大文件和優(yōu)化性能

如果 Excel 文件非常大,可能會(huì)導(dǎo)致內(nèi)存不足或讀取速度較慢。pandas 提供了一些方法來(lái)優(yōu)化性能,例如使用 chunksize 分塊讀取數(shù)據(jù)。

# 分塊讀取Excel文件,每次讀取100行
chunks = pd.read_excel('large_data.xlsx', chunksize=100)
for chunk in chunks:
    print(chunk)

9. 使用openpyxl讀取Excel

openpyxl 更適合需要對(duì) Excel 文件進(jìn)行更底層操作的場(chǎng)景,如讀取和修改單元格樣式、公式等。以下是一個(gè)簡(jiǎn)單的讀取示例:

from openpyxl import load_workbook
# 加載Excel工作簿
wb = load_workbook('data.xlsx')
# 選擇工作表
sheet = wb['Sheet1']
# 讀取指定單元格的值
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, values_only=True):
    print(row)

10. 更多的Excel讀取功能

你可以使用 pandas 提供的更多選項(xiàng),例如:

  • skiprows: 跳過(guò)特定行數(shù)
  • nrows: 讀取指定行數(shù)
  • header: 設(shè)置自定義標(biāo)題行
# 跳過(guò)前兩行并讀取5行數(shù)據(jù)
df = pd.read_excel('data.xlsx', skiprows=2, nrows=5)
print(df)

總結(jié)

通過(guò) pandasopenpyxl,你可以輕松讀取 Excel 文件,并進(jìn)行各種數(shù)據(jù)處理操作。pandas 更適合快速、簡(jiǎn)單的數(shù)據(jù)分析,而 openpyxl 則適合需要對(duì) Excel 文件進(jìn)行更深入控制的場(chǎng)景。

到此這篇關(guān)于Python讀取Excel表格數(shù)據(jù)的方法詳解的文章就介紹到這了,更多相關(guān)Python讀取Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用matplotlib畫(huà)圖之坐標(biāo)軸不等距

    使用matplotlib畫(huà)圖之坐標(biāo)軸不等距

    這篇文章主要介紹了使用matplotlib畫(huà)圖之坐標(biāo)軸不等距方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python中base64編碼與解碼詳解

    Python中base64編碼與解碼詳解

    本文主要介紹了Python2和Python3中使用base64加密方式的區(qū)別,Python3中字符為unicode編碼,而b64encode函數(shù)的參數(shù)為byte類型,所以需要先進(jìn)行轉(zhuǎn)碼
    2024-11-11
  • python UNIX_TIMESTAMP時(shí)間處理方法分析

    python UNIX_TIMESTAMP時(shí)間處理方法分析

    這篇文章主要介紹了python UNIX_TIMESTAMP時(shí)間處理方法,結(jié)合實(shí)例形式分析了Python針對(duì)UNIX_TIMESTAMP時(shí)間的常見(jiàn)運(yùn)算技巧,需要的朋友可以參考下
    2016-04-04
  • 詳解 Python 與文件對(duì)象共事的實(shí)例

    詳解 Python 與文件對(duì)象共事的實(shí)例

    這篇文章主要介紹了詳解 Python 與文件對(duì)象共事的實(shí)例的相關(guān)資料,希望通過(guò)本文大家能掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09
  • python實(shí)現(xiàn)錄屏功能(親測(cè)好用)

    python實(shí)現(xiàn)錄屏功能(親測(cè)好用)

    這篇文章主要介紹了使python實(shí)現(xiàn)錄屏功能(親測(cè)好用),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 把Anaconda中的環(huán)境導(dǎo)入到Pycharm里面的方法步驟

    把Anaconda中的環(huán)境導(dǎo)入到Pycharm里面的方法步驟

    這篇文章主要介紹了把Anaconda中的環(huán)境導(dǎo)入到Pycharm里面的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python Web版語(yǔ)音合成實(shí)例詳解

    Python Web版語(yǔ)音合成實(shí)例詳解

    這篇文章主要介紹了Python Web版語(yǔ)音合成實(shí)例詳解,語(yǔ)音合成技術(shù)能將用戶輸入的文字,轉(zhuǎn)換成流暢自然的語(yǔ)音輸出,并且可以支持語(yǔ)速、音調(diào)、音量設(shè)置,讓人機(jī)溝通更自然,需要的朋友可以參考下
    2019-07-07
  • Python新手入門之常用關(guān)鍵字的簡(jiǎn)單示例詳解

    Python新手入門之常用關(guān)鍵字的簡(jiǎn)單示例詳解

    關(guān)鍵字是預(yù)先保留的標(biāo)識(shí)符,每個(gè)關(guān)鍵字都有特殊的含義,下面這篇文章主要給大家介紹了關(guān)于Python新手入門之常用關(guān)鍵字的簡(jiǎn)單示例,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Python基礎(chǔ)文件操作方法超詳細(xì)講解(詳解版)

    Python基礎(chǔ)文件操作方法超詳細(xì)講解(詳解版)

    文件就是操作系統(tǒng)為用戶或應(yīng)用程序提供的一個(gè)讀寫(xiě)硬盤(pán)的虛擬單位,文件的核心操作就是讀和寫(xiě),這篇文章主要介紹了Python基礎(chǔ)文件操作方法超詳細(xì)講解的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • python tensorflow學(xué)習(xí)之識(shí)別單張圖片的實(shí)現(xiàn)的示例

    python tensorflow學(xué)習(xí)之識(shí)別單張圖片的實(shí)現(xiàn)的示例

    本篇文章主要介紹了python tensorflow學(xué)習(xí)之識(shí)別單張圖片的實(shí)現(xiàn)的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02

最新評(píng)論

巴东县| 开江县| 栾城县| 凌源市| 仲巴县| 札达县| 利辛县| 军事| 汾西县| 黔江区| 平谷区| 建宁县| 车致| 镇沅| 城步| 南部县| 陇西县| 大城县| 台南县| 理塘县| 新和县| 田东县| 增城市| 广州市| 衡南县| 获嘉县| 余姚市| 耿马| 井研县| 南雄市| 大兴区| 宁乡县| 房产| 诏安县| 年辖:市辖区| 南和县| 江门市| 墨竹工卡县| 德州市| 永德县| 怀远县|