首頁  >  文章  >  後端開發  >  如何使用Python進行Excel自動化操作?

如何使用Python進行Excel自動化操作?

WBOY
WBOY轉載
2023-05-07 23:04:272201瀏覽

一、Python 操作 Excel 的常用函式庫

在開始操作 Excel 之前,你需要先安裝 Python 和一些相關函式庫。可以使用 pip 安裝以下函式庫,或使用專業的 python 用戶端:pycharm,快速安裝 python 和相關函式庫。

  • pandas:用於處理Excel 檔案和資料

  • #openpyxl:用於讀取和寫入Excel 檔案

  • xlrd:用於讀取Excel 檔案

  • xlwt:用於寫入Excel 檔案

1. 使用第三方程式庫openpyxl

openpyxl 是用於讀寫Excel 2010 xlsx/xlsm/xltx/xltm 檔案的Python 函式庫。它可以讀取和寫入 Excel 文件,支援多個工作表、圖表等。

範例程式碼:

import openpyxl

# 打开 Excel 文件
workbook = openpyxl.load_workbook('example.xlsx')

# 获取所有工作表名
sheet_names = workbook.sheetnames
print(sheet_names)

# 获取指定工作表
sheet = workbook['Sheet1']

# 获取单元格数据
cell = sheet['A1']
print(cell.value)

# 修改单元格数据
sheet['A1'] = 'Hello World'

# 保存 Excel 文件
workbook.save('example.xlsx')

2. 使用第三方函式庫xlrd 和xlwt

xlrd 和xlwt 分別用於讀取和寫入Excel 文件,支援多個工作表,但不支援Excel 2010 xlsx/xlsm/xltx/xltm 格式。

範例程式碼:

import xlrd
import xlwt

# 打开 Excel 文件
workbook = xlrd.open_workbook('example.xls')

# 获取所有工作表名
sheet_names = workbook.sheet_names()
print(sheet_names)

# 获取指定工作表
sheet = workbook.sheet_by_name('Sheet1')

# 获取单元格数据
cell = sheet.cell(0, 0)
print(cell.value)

# 修改单元格数据
new_workbook = xlwt.Workbook()
new_sheet = new_workbook.add_sheet('Sheet1')
new_sheet.write(0, 0, 'Hello World')
new_workbook.save('example.xls')

3. 使用pandas 函式庫

pandas 是一個用於資料分析的Python 函式庫,也可以用來讀寫Excel 文件,支援多個工作表,但不支援Excel 2010 xlsx/xlsm/xltx/xltm 格式。

範例程式碼:

import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('example.xls', sheet_name='Sheet1')

# 获取单元格数据
value = df.iloc[0, 0]
print(value)

# 修改单元格数据
df.iloc[0, 0] = 'Hello World'
df.to_excel('example.xls', index=False)

二、Python 操作excel 的10 個常用方法

1. 讀取Excel 檔案

使用pandas 庫中的read_excel ()函數可以讀取Excel 檔案。範例程式碼如下:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('example.xlsx')

2. 寫入 Excel 檔案

使用 pandas 函式庫中的 to_excel()函數可以將資料寫入 Excel 檔案。範例程式碼如下:

import pandas as pd

# 将数据写入Excel文件
df.to_excel('example.xlsx', index=False)

3. 插入行或列

使用 pandas 函式庫中的 append()函數可以插入行或列。範例程式碼如下:

import pandas as pd

# 插入行
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df = df.append({'A': 4, 'B': 7}, ignore_index=True)

# 插入列
df['C'] = [7, 8, 9, 10]

4. 刪除行或列

使用 pandas 函式庫中的 drop()函數可以刪除行或列。範例程式碼如下:

import pandas as pd

# 删除行
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df = df.drop(1)

# 删除列
df = df.drop('B', axis=1)

5. 修改單元格值

使用 pandas 庫中的 at()函數或.iat()函數可以修改單元格的值。範例程式碼如下:

import pandas as pd

# 修改单元格值
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df.at[1, 'B'] = 7

# 使用.iat()函数修改单元格值
df.iat[0, 1] = 8

6. 尋找儲存格值

使用 pandas 函式庫中的.loc()函數或.iloc()函數可以找出儲存格的值。範例程式碼如下:

import pandas as pd

# 查找单元格值
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
value = df.loc[1, 'B']

# 使用.iloc()函数查找单元格值
value = df.iloc[1, 1]

7. 排序資料

使用 pandas 函式庫中的 sort_values()函數可以對資料進行排序。範例程式碼如下:

import pandas as pd

# 对数据进行排序
df = pd.DataFrame({'A': [1, 3, 2], 'B': [4, 6, 5]})
df = df.sort_values(by='A')

8. 合併資料

使用 pandas 函式庫中的 merge()函數可以合併資料。範例程式碼如下:

import pandas as pd

# 合并数据
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [1, 2, 4], 'C': [7, 8, 9]})
df = pd.merge(df1, df2, on='A')

9. 分組資料

使用 pandas 函式庫中的 groupby()函數可以將資料分組。範例程式碼如下:

import pandas as pd

# 分组数据
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
                   'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
                   'C': [1, 2, 3, 4, 5, 6, 7, 8]})
grouped = df.groupby(['A', 'B'])

10. 計算資料統計量

使用 pandas 函式庫中的 describe()函數可以計算資料的統計量。範例程式碼如下:

import pandas as pd

# 计算数据统计量
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
desc = df.describe()

以上是如何使用Python進行Excel自動化操作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除