Featured image of post Python Basic 14 xlsx 文件操作

Python Basic 14 xlsx 文件操作

本篇文章主要介绍Python对xlsx文件的常用操作

基础库介绍 📚

openpyxl (推荐⭐)

1
pip install openpyxl

xlrd/xlwt (老牌但有点旧)

1
pip install xlrd xlwt

pandas (数据分析神器)

1
pip install pandas openpyxl

基础操作 🛠️

创建新xlsx文件 ✨

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from openpyxl import Workbook

wb = Workbook()  # 创建新工作簿
ws = wb.active   # 获取活动工作表
ws.title = "我的表表"  # 改个可爱的名字~

ws['A1'] = "你好呀~"  # 写入A1单元格
ws['B1'] = "😊😊😊"

wb.save("我的第一个xlsx.xlsx")  # 保存文件

读取已有文件 👀

1
2
3
4
5
6
7
from openpyxl import load_workbook

wb = load_workbook("我的第一个xlsx.xlsx")
print(wb.sheetnames)  # 打印所有工作表名

ws = wb["我的表表"]   # 选择特定工作表
print(ws['A1'].value)  # 读取A1的值 → "你好呀~"

常用操作大全 💫

读写单元格 (超简单!)

1
2
3
4
5
6
# 写入
ws.cell(row=2, column=1, value="第二行第一列")  # A2单元格
ws["B2"] = 12345

# 读取
print(ws["B2"].value)  # → 12345

遍历数据 🔄

1
2
3
4
5
6
7
8
9
for row in ws.iter_rows(min_row=1, max_col=2, max_row=2):
    for cell in row:
        print(f"单元格 {cell.coordinate} 的值是: {cell.value}")

# 输出:
# 单元格 A1 的值是: 你好呀~
# 单元格 B1 的值是: 😊😊😊
# 单元格 A2 的值是: 第二行第一列
# 单元格 B2 的值是: 12345

修改样式 🎨

1
2
3
4
5
6
7
8
9
from openpyxl.styles import Font, Color

# 设置字体样式
ws["A1"].font = Font(name="微软雅黑", size=12, bold=True, color="FF0000")

# 设置背景色 (需要导入PatternFill)
from openpyxl.styles import PatternFill
yellow_fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
ws["B1"].fill = yellow_fill

用pandas操作xlsx (更高效!) 🐼

读取数据

1
2
3
4
5
6
7
import pandas as pd

# 读取整个文件
df = pd.read_excel("数据.xlsx", sheet_name="Sheet1")

# 读取部分数据
df = pd.read_excel("数据.xlsx", usecols="A:C", nrows=100)  # 只读A-C列,前100行

写入数据

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 创建DataFrame
data = {
    "姓名": ["小明", "小红", "小刚"],
    "年龄": [20, 19, 21],
    "成绩": [98, 85, 92]
}
df = pd.DataFrame(data)

# 写入Excel
df.to_excel("学生数据.xlsx", sheet_name="学生表", index=False)

高级技巧 🔥

操作多个工作表

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
wb = Workbook()

# 添加多个工作表
ws1 = wb.create_sheet("一月数据")
ws2 = wb.create_sheet("二月数据")

# 在不同表写入数据
ws1["A1"] = "一月销售额"
ws2["A1"] = "二月销售额"

wb.save("月度报告.xlsx")

公式计算

1
2
ws["C1"] = "总和"
ws["C2"] = "=SUM(B1:B2)"  # 写入Excel公式

插入图片

1
2
3
4
from openpyxl.drawing.image import Image

logo = Image("logo.png")  # 加载图片
ws.add_image(logo, "D5")  # 插入到D5单元格位置

这样操作xlsx文件是不是超简单呢?(ノ◕ヮ◕)ノ*:・゚✧ 快去试试吧!遇到问题可以在评论区提问哦~ 💕

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计