在日常的數據處理和分析工作中,Excel 是一個非常常用的工具。然而,當數據量較大或需要自動化處理時,手動操作 Excel 可能會變得繁瑣且容易出錯。Python 提供了多個庫來幫助我們自動化處理 Excel 文件,其中最常用的是 openpyxl
和 pandas
。本文將介紹如何使用 Python 實現一些常見的 Excel 操作。
pandas
讀取 Excel 文件pandas
是一個強大的數據處理庫,它提供了簡單的方法來讀取和寫入 Excel 文件。
import pandas as pd
# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')
# 查看前幾行數據
print(df.head())
openpyxl
讀取 Excel 文件openpyxl
是一個專門用于處理 Excel 文件的庫,支持 .xlsx
格式。
from openpyxl import load_workbook
# 加載 Excel 文件
wb = load_workbook('example.xlsx')
# 選擇工作表
ws = wb['Sheet1']
# 讀取單元格數據
cell_value = ws['A1'].value
print(cell_value)
pandas
寫入 Excel 文件pandas
可以輕松地將 DataFrame 寫入 Excel 文件。
import pandas as pd
# 創建一個 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
# 寫入 Excel 文件
df.to_excel('output.xlsx', index=False)
openpyxl
寫入 Excel 文件openpyxl
允許你更精細地控制 Excel 文件的寫入。
from openpyxl import Workbook
# 創建一個新的工作簿
wb = Workbook()
# 選擇默認的工作表
ws = wb.active
# 寫入數據
ws['A1'] = 'Name'
ws['B1'] = 'Age'
ws['A2'] = 'Alice'
ws['B2'] = 25
# 保存文件
wb.save('output.xlsx')
openpyxl
修改 Excel 文件openpyxl
允許你修改現有的 Excel 文件。
from openpyxl import load_workbook
# 加載 Excel 文件
wb = load_workbook('example.xlsx')
# 選擇工作表
ws = wb['Sheet1']
# 修改單元格數據
ws['A1'] = 'New Value'
# 保存修改
wb.save('example_modified.xlsx')
pandas
處理多個工作表pandas
可以讀取和寫入多個工作表。
import pandas as pd
# 讀取多個工作表
with pd.ExcelFile('example.xlsx') as xls:
df1 = pd.read_excel(xls, 'Sheet1')
df2 = pd.read_excel(xls, 'Sheet2')
# 寫入多個工作表
with pd.ExcelWriter('output.xlsx') as writer:
df1.to_excel(writer, sheet_name='Sheet1', index=False)
df2.to_excel(writer, sheet_name='Sheet2', index=False)
openpyxl
處理多個工作表openpyxl
也支持處理多個工作表。
from openpyxl import load_workbook
# 加載 Excel 文件
wb = load_workbook('example.xlsx')
# 選擇不同的工作表
ws1 = wb['Sheet1']
ws2 = wb['Sheet2']
# 修改不同工作表的數據
ws1['A1'] = 'Sheet1 Value'
ws2['A1'] = 'Sheet2 Value'
# 保存修改
wb.save('example_modified.xlsx')
pandas
進行數據篩選與排序pandas
提供了強大的數據篩選和排序功能。
import pandas as pd
# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')
# 篩選數據
filtered_df = df[df['Age'] > 30]
# 排序數據
sorted_df = df.sort_values(by='Age', ascending=False)
# 保存篩選和排序后的數據
filtered_df.to_excel('filtered_output.xlsx', index=False)
sorted_df.to_excel('sorted_output.xlsx', index=False)
pandas
創建數據透視表pandas
可以輕松地創建數據透視表。
import pandas as pd
# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')
# 創建數據透視表
pivot_table = df.pivot_table(values='Age', index='Name', columns='Gender', aggfunc='mean')
# 保存數據透視表
pivot_table.to_excel('pivot_table.xlsx')
openpyxl
生成圖表openpyxl
支持在 Excel 中生成圖表。
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
# 創建一個新的工作簿
wb = Workbook()
ws = wb.active
# 添加數據
data = [
['Name', 'Age'],
['Alice', 25],
['Bob', 30],
['Charlie', 35],
]
for row in data:
ws.append(row)
# 創建圖表
chart = BarChart()
values = Reference(ws, min_col=2, min_row=1, max_row=4)
categories = Reference(ws, min_col=1, min_row=2, max_row=4)
chart.add_data(values, titles_from_data=True)
chart.set_categories(categories)
# 添加圖表到工作表
ws.add_chart(chart, "E1")
# 保存文件
wb.save('chart_output.xlsx')
通過使用 Python 的 pandas
和 openpyxl
庫,我們可以輕松地實現 Excel 文件的讀取、寫入、修改、篩選、排序、數據透視表生成以及圖表生成等常見操作。這些工具不僅提高了數據處理的效率,還使得復雜的操作變得簡單易行。無論是數據分析師還是開發人員,掌握這些技能都將大大提升工作效率。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。