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

Python操作Excel文件的11種方法(全網最全)

 更新時間:2025年03月06日 11:13:01   作者:極客代碼  
在日常工作或開發(fā)過程中,Excel文件作為一種常用的數據存儲格式,其高效便捷的數據處理能力被廣泛應用于數據統(tǒng)計、數據分析等領域,Python作為一種強大的編程語言,提供了豐富的庫支持來實現對Excel文件的操作,本篇將詳細介紹如何使用Python來操作Excel文件

引言

Python 提供了多種庫和方法來操作 Excel 文件,每種方法都有其獨特的優(yōu)勢和適用場景。本文將詳細介紹這 11 種方法,包括它們的優(yōu)缺點、適用場景以及詳細的使用方式和代碼示例,幫助讀者全面掌握這些工具。本文不僅涵蓋了基本的讀寫操作,還將深入探討高級功能和最佳實踐。

1. 使用 pandas 庫

優(yōu)點

  • 功能強大,支持數據清洗、轉換和分析。
  • 支持多種文件格式,包括 .xls 和 .xlsx。
  • 提供豐富的數據操作方法,如篩選、排序、分組等。

缺點

  • 學習曲線較高,需要一定的編程基礎。
  • 處理大規(guī)模數據時可能占用較多內存。

適用場景

  • 數據分析和處理任務。
  • 需要進行復雜數據操作和分析的場景。

詳細使用方式

  • 安裝 pandas
pip install pandas
  • 讀取 Excel 文件
import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')
print(df.head())  # 顯示前五行數據

# 讀取特定工作表
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
print(df.head())
  • 寫入 Excel 文件
import pandas as pd

# 創(chuàng)建數據
data = {
    'Name': ['Tom', 'Jerry'],
    'Age': [20, 21]
}
df = pd.DataFrame(data)

# 寫入 Excel 文件
df.to_excel('output.xlsx', index=False)

數據操作

  • 選擇特定列
df = pd.read_excel('example.xlsx', usecols=['Name', 'Age'])
print(df.head())
  • 過濾數據
df = pd.read_excel('example.xlsx')
filtered_df = df[df['Age'] > 20]
print(filtered_df)
  • 數據分組
df = pd.read_excel('example.xlsx')
grouped_df = df.groupby('Age').mean()
print(grouped_df)
  • 添加新列
df = pd.read_excel('example.xlsx')
df['NewColumn'] = df['Age'] * 2
print(df)
  • 更新單元格
df = pd.read_excel('example.xlsx')
df.at[0, 'Age'] = 25
print(df)
  • 刪除列
df = pd.read_excel('example.xlsx')
del df['Age']
print(df)
  • 合并多個 Excel 文件
df1 = pd.read_excel('file1.xlsx')
df2 = pd.read_excel('file2.xlsx')
merged_df = pd.concat([df1, df2], ignore_index=True)
print(merged_df)
  • 數據透 視表
df = pd.read_excel('example.xlsx')
pivot_table = pd.pivot_table(df, values='Age', index=['Name'], aggfunc='sum')
print(pivot_table)

2. 使用 openpyxl 庫

優(yōu)點

  • 專注于 .xlsx 文件格式。
  • 提供細粒度的操作,如單元格格式、圖表等。
  • 支持讀取、寫入和修改 Excel 文件。

缺點

  • 不支持 .xls 文件格式。
  • 功能相對單一,不適用于復雜的數據分析任務。

適用場景

  • 需要對 Excel 文件進行細粒度操作的場景。
  • 處理 .xlsx 文件格式的任務。

詳細使用方式

  • 安裝 openpyxl
pip install openpyxl
  • 讀取 Excel 文件
from openpyxl import load_workbook

# 加載 Excel 文件
wb = load_workbook('example.xlsx')
sheet = wb.active

# 讀取數據
for row in sheet.iter_rows(values_only=True):
    print(row)
  • 寫入 Excel 文件
from openpyxl import Workbook

# 創(chuàng)建新的工作簿
wb = Workbook()
sheet = wb.active

# 寫入數據
sheet.append(['Name', 'Age'])
sheet.append(['Tom', 20])
sheet.append(['Jerry', 21])

# 保存文件
wb.save('output.xlsx')
  • 修改 Excel 文件
from openpyxl import load_workbook

# 加載 Excel 文件
wb = load_workbook('example.xlsx')
sheet = wb.active

# 修改單元格數據
sheet['A1'] = 'New Name'
sheet['B1'] = 25

# 保存修改后的 Excel 文件
wb.save('modified_example.xlsx')
  • 設置單元格格式
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment

# 創(chuàng)建新的工作簿
wb = Workbook()
sheet = wb.active

# 設置單元格格式
cell = sheet['A1']
cell.value = 'Hello, World!'
cell.font = Font(bold=True, color='FF0000')
cell.alignment = Alignment(horizontal='center', vertical='center')

# 保存文件
wb.save('formatted_output.xlsx')

3. 使用 xlrd 和 xlwt 庫

優(yōu)點

  • 支持 .xls 文件格式。
  • xlrd 用于讀取 Excel 文件,xlwt 用于寫入 Excel 文件。
  • 輕量級,適合簡單的數據操作任務。

缺點

  • 不支持 .xlsx 文件格式。
  • 功能相對有限,不適合復雜的操作。

適用場景

  • 處理 .xls 文件格式的任務。
  • 需要簡單數據操作的場景。

詳細使用方式

  • 安裝 xlrd 和 xlwt
pip install xlrd xlwt
  • 讀取 Excel 文件
import xlrd

# 打開 Excel 文件
workbook = xlrd.open_workbook('example.xls')
sheet = workbook.sheet_by_index(0)

# 讀取數據
for row_idx in range(sheet.nrows):
    row = sheet.row_values(row_idx)
    print(row)
  • 寫入 Excel 文件
import xlwt

# 創(chuàng)建新的工作簿
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')

# 寫入數據
sheet.write(0, 0, 'Name')
sheet.write(0, 1, 'Age')
sheet.write(1, 0, 'Tom')
sheet.write(1, 1, 20)
sheet.write(2, 0, 'Jerry')
sheet.write(2, 1, 21)

# 保存文件
workbook.save('output.xls')

4. 使用 xlwings 庫

優(yōu)點

  • 支持 .xls 和 .xlsx 文件格式。
  • 可以讀寫 Excel 文件,并進行單元格格式的修改。
  • 提供與 Excel 應用程序交互的功能。

缺點

  • 需要安裝 Excel 應用程序。
  • 功能相對復雜,學習曲線較高。

適用場景

  • 需要與 Excel 應用程序交互的場景。
  • 處理復雜數據操作和格式設置的任務。

詳細使用方式

  • 安裝 xlwings
pip install xlwings
  • 讀取 Excel 文件
import xlwings as xw

# 創(chuàng)建 Excel 應用程序對象
app = xw.App(visible=True, add_book=False)

# 打開工作簿
wb = app.books.open('example.xlsx')
sheet = wb.sheets[0]

# 讀取數據
data = sheet.range('A1:B7').value
print(data)

# 關閉工作簿和應用程序
wb.close()
app.quit()
  • 寫入 Excel 文件
import xlwings as xw

# 創(chuàng)建 Excel 應用程序對象
app = xw.App(visible=True, add_book=False)

# 創(chuàng)建新的工作簿
wb = app.books.add()
sheet = wb.sheets[0]

# 寫入數據
sheet.range('A1').value = [['Name', 'Age'], ['Tom', 20], ['Jerry', 21]]

# 保存文件
wb.save('output.xlsx')

# 關閉工作簿和應用程序
wb.close()
app.quit()
  • 設置單元格格式
import xlwings as xw

# 創(chuàng)建 Excel 應用程序對象
app = xw.App(visible=True, add_book=False)

# 創(chuàng)建新的工作簿
wb = app.books.add()
sheet = wb.sheets[0]

# 寫入數據
sheet.range('A1').value = [['Name', 'Age'], ['Tom', 20], ['Jerry', 21]]

# 設置單元格格式
cell = sheet.range('A1')
cell.api.Font.Bold = True
cell.api.HorizontalAlignment = -4108  # 水平居中
cell.api.VerticalAlignment = -4108  # 垂直居中

# 保存文件
wb.save('formatted_output.xlsx')

# 關閉工作簿和應用程序
wb.close()
app.quit()

5. 使用 XlsxWriter 庫

優(yōu)點

  • 專注于寫入 .xlsx 文件。
  • 支持文本、數字、公式等的寫入。
  • 提供豐富的單元格格式設置功能。

缺點

  • 不支持讀取 Excel 文件。
  • 功能相對單一,不適用于復雜的數據操作任務。

適用場景

  • 需要寫入 .xlsx 文件的任務。
  • 需要精細格式設置的場景。

詳細使用方式

  • 安裝 XlsxWriter
pip install XlsxWriter
  • 寫入 Excel 文件
import xlsxwriter

# 創(chuàng)建新的 Excel 文件
workbook = xlsxwriter.Workbook('output.xlsx')
worksheet = workbook.add_worksheet()

# 寫入數據
data = [['Name', 'Age'], ['Tom', 20], ['Jerry', 21]]
for row_num, row_data in enumerate(data):
    worksheet.write_row(row_num, 0, row_data)

# 設置單元格格式
bold = workbook.add_format({'bold': True})
worksheet.write('A1', 'Name', bold)
worksheet.write('B1', 'Age', bold)

# 插入圖表
chart = workbook.add_chart({'type': 'column'})
chart.add_series({
    'categories': '=Sheet1!$A$2:$A$3',
    'values': '=Sheet1!$B$2:$B$3',
})
worksheet.insert_chart('D2', chart)

# 保存文件
workbook.close()

6. 使用 pyexcel 庫

優(yōu)點

  • 支持多種 Excel 文件格式,包括 .xls 和 .xlsx。
  • 提供一致的接口來讀取和寫入這些文件。
  • 輕量級,易于使用。

缺點

  • 功能相對有限,不適用于復雜的操作。
  • 不如 pandas 和 openpyxl 功能豐富。

適用場景

  • 處理多種 Excel 文件格式的任務。
  • 需要簡單數據操作的場景。

詳細使用方式

  • 安裝 pyexcel
pip install pyexcel pyexcel-xls pyexcel-xlsx
  • 讀取 Excel 文件
import pyexcel

# 讀取 Excel 文件
sheet = pyexcel.get_sheet(file_name="example.xlsx")
print(sheet)

# 讀取特定工作表
sheet = pyexcel.get_sheet(file_name="example.xlsx", sheet_name="Sheet1")
print(sheet)
  • 寫入 Excel 文件
import pyexcel

# 創(chuàng)建數據
data = [['Name', 'Age'], ['Tom', 20], ['Jerry', 21]]

# 寫入 Excel 文件
sheet = pyexcel.Sheet(data)
sheet.save_as("output.xlsx")

7. 使用 et_xmlfile 庫

優(yōu)點

  • 用于處理 Excel 文件的 XML 內容。
  • 適用于高級用戶,可以直接操作 Excel 文件的內部結構。

缺點

  • 學習曲線較高,需要了解 XML 結構。
  • 功能相對復雜,不適合初學者。

適用場景

  • 需要直接操作 Excel 文件內部結構的場景。
  • 處理復雜 Excel 文件的任務。

詳細使用方式

  • 安裝 et_xmlfile
pip install et_xmlfile
  • 讀取 Excel 文件的 XML 內容
from et_xmlfile import xmlfile

# 讀取 Excel 文件的 XML 內容
with xmlfile.XmlFile('example.xlsx') as xf:
    for event, elem in xf.iterparse():
        print(event, elem.tag)

8. 使用 win32com.client 庫

優(yōu)點

  • 通過 COM 接口操作 Excel 文件。
  • 支持多種 Excel 文件格式。
  • 提供與 Excel 應用程序交互的功能。

缺點

  • 需要安裝 Excel 應用程序。
  • 功能相對復雜,學習曲線較高。
  • 僅適用于 Windows 環(huán)境。

適用場景

  • 需要與 Excel 應用程序交互的場景。
  • 處理復雜數據操作和格式設置的任務。

詳細使用方式

  • 安裝 pywin32
pip install pywin32
  • 讀取 Excel 文件
import win32com.client

# 創(chuàng)建 Excel 應用程序對象
excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = True

# 打開工作簿
workbook = excel.Workbooks.Open(r'C:\path\to\example.xlsx')
sheet = workbook.Sheets(1)

# 讀取數據
cell_value = sheet.Cells(1, 1).Value
print(cell_value)

# 關閉工作簿和應用程序
workbook.Close()
excel.Quit()
  • 寫入 Excel 文件
import win32com.client

# 創(chuàng)建 Excel 應用程序對象
excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = True

# 創(chuàng)建新的工作簿
workbook = excel.Workbooks.Add()
sheet = workbook.Sheets(1)

# 寫入數據
sheet.Cells(1, 1).Value = 'Name'
sheet.Cells(1, 2).Value = 'Age'
sheet.Cells(2, 1).Value = 'Tom'
sheet.Cells(2, 2).Value = 20
sheet.Cells(3, 1).Value = 'Jerry'
sheet.Cells(3, 2).Value = 21

# 保存文件
workbook.SaveAs(r'C:\path\to\output.xlsx')

# 關閉工作簿和應用程序
workbook.Close()
excel.Quit()

9. 使用 tablib 庫

優(yōu)點

  • 支持多種數據格式,包括 Excel。
  • 提供一致的接口來處理不同格式的數據。
  • 輕量級,易于使用。

缺點

  • 功能相對有限,不適用于復雜的操作。
  • 不如 pandas 和 openpyxl 功能豐富。

適用場景

  • 處理多種數據格式的任務。
  • 需要簡單數據操作的場景。

詳細使用方式

  • 安裝 tablib
pip install tablib
  • 寫入 Excel 文件
import tablib

# 創(chuàng)建數據集
data = tablib.Dataset()
data.headers = ['Name', 'Age']
data.append(['Tom', 20])
data.append(['Jerry', 21])

# 導出為 Excel 文件
with open('output.xlsx', 'wb') as f:
    f.write(data.export('xlsx'))

10. 使用 odfpy 庫

優(yōu)點

  • 用于處理 OpenDocument 格式文件,包括 .ods 文件。
  • 提供讀取和寫入 .ods 文件的功能。
  • 輕量級,易于使用。

缺點

  • 不支持 .xls 和 .xlsx 文件格式。
  • 功能相對有限,不適用于復雜的操作。

適用場景

  • 處理 .ods 文件格式的任務。
  • 需要簡單數據操作的場景。

詳細使用方式

  • 安裝 odfpy
pip install odfpy
  • 讀取 ODS 文件
from odf.opendocument import load
from odf.table import TableRow, TableCell
from odf.text import P

# 讀取 ODS 文件
doc = load('example.ods')
table = doc.spreadsheet.getElementsByType(Table)[0]

# 遍歷表格中的數據
for row in table.getElementsByType(TableRow):
    cells = row.getElementsByType(TableCell)
    row_data = [cell.getElementsByType(P)[0].text for cell in cells]
    print(row_data)
  • 寫入 ODS 文件
from odf.opendocument import OpenDocumentSpreadsheet
from odf.table import Table, TableRow, TableCell
from odf.text import P

# 創(chuàng)建新的 ODS 文件
doc = OpenDocumentSpreadsheet()
table = Table(name="Sheet1")
doc.spreadsheet.addElement(table)

# 添加新行
new_row = TableRow()
new_row.addElement(TableCell(text=P(text='Name')))
new_row.addElement(TableCell(text=P(text='Age')))
table.addElement(new_row)

# 添加更多行
new_row = TableRow()
new_row.addElement(TableCell(text=P(text='Tom')))
new_row.addElement(TableCell(text=P(text='20')))
table.addElement(new_row)

new_row = TableRow()
new_row.addElement(TableCell(text=P(text='Jerry')))
new_row.addElement(TableCell(text=P(text='21')))
table.addElement(new_row)

# 保存文件
doc.save('output.ods')

11. 使用 pyexcel-ods3 庫

優(yōu)點

  • 支持 .ods 文件格式。
  • 提供一致的接口來讀取和寫入 .ods 文件。
  • 輕量級,易于使用。

缺點

  • 不支持 .xls 和 .xlsx 文件格式。
  • 功能相對有限,不適用于復雜的操作。

適用場景

  • 處理 .ods 文件格式的任務。
  • 需要簡單數據操作的場景。

詳細使用方式

  • 安裝 pyexcel-ods3
pip install pyexcel-ods3
  • 讀取 ODS 文件
import pyexcel_ods3

# 讀取 ODS 文件
data = pyexcel_ods3.get_data('example.ods')
print(data)
  • 寫入 ODS 文件
import pyexcel_ods3

# 創(chuàng)建數據
data = {
    'Sheet1': [
        ['Name', 'Age'],
        ['Tom', 20],
        ['Jerry', 21]
    ]
}

# 寫入 ODS 文件
pyexcel_ods3.save_data('output.ods', data)

總結

Python 提供了多種庫和方法來操作 Excel 文件,每種方法都有其獨特的優(yōu)缺點和適用場景。選擇合適的庫可以提高開發(fā)效率和代碼質量。以下是每種方法的簡要總結:

  1. pandas:功能強大,支持數據清洗、轉換和分析,適用于數據分析和處理任務。
  2. openpyxl:專注于 .xlsx 文件格式,提供細粒度的操作,適用于需要對 Excel 文件進行細粒度操作的場景。
  3. xlrd 和 xlwt:支持 .xls 文件格式,輕量級,適用于處理 .xls 文件格式的任務。
  4. xlwings:支持 .xls 和 .xlsx 文件格式,提供與 Excel 應用程序交互的功能,適用于需要與 Excel 應用程序交互的場景。
  5. XlsxWriter:專注于寫入 .xlsx 文件,提供豐富的單元格格式設置功能,適用于需要寫入 .xlsx 文件的任務。
  6. pyexcel:支持多種 Excel 文件格式,提供一致的接口,適用于處理多種 Excel 文件格式的任務。
  7. et_xmlfile:用于處理 Excel 文件的 XML 內容,適用于需要直接操作 Excel 文件內部結構的場景。
  8. win32com.client:通過 COM 接口操作 Excel 文件,適用于需要與 Excel 應用程序交互的場景。
  9. tablib:支持多種數據格式,提供一致的接口,適用于處理多種數據格式的任務。
  10. odfpy:用于處理 OpenDocument 格式文件,包括 .ods 文件,適用于處理 .ods 文件格式的任務。
  11. pyexcel-ods3:支持 .ods 文件格式,提供一致的接口,適用于處理 .ods 文件格式的任務。

希望本文能幫助你全面掌握 Python 操作 Excel 文件的各種方法。

以上就是Python操作Excel文件的11種方法(全網最全)的詳細內容,更多關于Python操作Excel文件的資料請關注腳本之家其它相關文章!

相關文章

  • Python?selenium?webdriver?基本使用代碼分享

    Python?selenium?webdriver?基本使用代碼分享

    這篇文章主要介紹了Python?selenium?webdriver?基本使用,本文僅僅簡單介紹了selenium的使用常用代碼分享,需要的朋友可以參考下
    2022-11-11
  • NumPy 基本切片和索引的具體使用方法

    NumPy 基本切片和索引的具體使用方法

    這篇文章主要介紹了NumPy 基本切片和索引的具體使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Python中移動文件的實現方法匯總

    Python中移動文件的實現方法匯總

    在Python編程中,經常會遇到需要移動文件的場景,例如文件的整理、備份等,這就需要借助Python的相關庫和方法來實現類似mv命令的功能,本文給大家匯總了Python移動文件的實現方法,需要的朋友可以參考下
    2025-07-07
  • 用Python爬取英雄聯盟的皮膚詳細示例

    用Python爬取英雄聯盟的皮膚詳細示例

    大家好,本篇文章主要講的是用Python爬取英雄聯盟的皮膚詳細示例,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 利用Python為女神制作一個專屬網站

    利用Python為女神制作一個專屬網站

    520不知道送什么禮物?快跟隨小編一起學習一下如何利用Python語言制作一個專屬的網站送給女神吧!文中的示例代碼講解詳細,需要的可以參考一下
    2022-05-05
  • python測試驅動開發(fā)實例

    python測試驅動開發(fā)實例

    這篇文章主要介紹了python測試驅動開發(fā)實例,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • Python隨機值生成的常用方法總結

    Python隨機值生成的常用方法總結

    這篇文章主要為大家詳細介紹了Python中隨機值生成的一些常用方法,文中的示例代碼講解詳細,對我們學習Python有一定幫助,需要的可以了解一下
    2022-10-10
  • Python實現Excel數據自動化處理的全過程

    Python實現Excel數據自動化處理的全過程

    本文介紹了Python處理Excel數據的優(yōu)勢、環(huán)境準備、核心操作實現、實戰(zhàn)案例、性能優(yōu)化技巧以及常見問題,通過Python自動化工具,可以顯著提高數據處理效率,減少錯誤率,并使數據處理成為可積累、可優(yōu)化的智能流程,需要的朋友可以參考下
    2025-12-12
  • 詳解python數值與字符串高級用法

    詳解python數值與字符串高級用法

    這篇文章主要介紹了python數值與字符串高級用法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • python導入坐標點的具體操作

    python導入坐標點的具體操作

    在本篇文章里小編給大家分享了關于python導入坐標點的具體操作步驟和圖解,有需要的朋友們跟著學習下。
    2019-05-05

最新評論

调兵山市| 犍为县| 礼泉县| 花莲市| 佛教| 海兴县| 顺昌县| 威远县| 错那县| 竹山县| 万州区| 石城县| 鸡东县| 都昌县| 买车| 宁安市| 曲麻莱县| 卓尼县| 安顺市| 会东县| 滨州市| 玛沁县| 哈尔滨市| 海晏县| 岑巩县| 翁源县| 湘乡市| 桂阳县| 凤山县| 五指山市| 城固县| 普安县| 新巴尔虎左旗| 叶城县| 禹州市| 黄梅县| 彰化市| 湖南省| 中卫市| 高青县| 南川市|