openpyxl模块

python

openpyxl模块

  openpyxl模块可以对Excel表格进行操作的模块,是第三方模块,需要下载openpyxl库

  Excel版本:

    2003之前

      Excel名字.xls

    2003之后

      Excel名字.xls      Excel名字.xlsx

  写入数据、保存文件:

# 写入数据

from openpyxl import Workbook

# 获取Excel对象

wb_obj = Workbook() # 得到一个workbook对象

# 在表格中创建工作表

wb1 = wb_obj.create_sheet("python工作表1", 1)

wb2 = wb_obj.create_sheet("python工作表2", 2)

# 修改工作表名字:为”python工作表1“工作表修改名字

print(wb1.title)

wb1.title = "oh, my big baby"

print(wb1.title)

# 给第一张工作表添加值

# wb["工作簿中的表格位置"],如 A2, B3, F8等等

wb1["A3"] = 1450

wb1["B3"] = 1000

wb1["C3"] = "=sum(A3+B3)"

wb2["E5"] = 100

# 生成表格文件

wb_obj.save("python测试1.xlsx")

  执行结果:

python工作表1

oh, my big baby

  读取数据

# 读取数据

from openpyxl import load_workbook

# 获取文档对象

wb_obj = load_workbook("python测试1.xlsx")

# 选择工作表

wb1 = wb_obj["oh, my big baby"]

# 获取到B3的值

print(wb1["B3"].value)

# 修改B3的值

wb1["B3"] = 2000 # 这里只获取到B3的值进行修改并未保存到文件中

print(wb1["B3"].value)

  执行结果:

1000

2000

  应用1:批量写入数据:从A1-A100,依次写入1,2,3,4......100

from openpyxl import Workbook

wb_obj = Workbook()

wb1 = wb_obj.create_sheet("工作表1")

# wb1["表格位置"] = 对应的值

n = 1

for i in range(100):

wb1["A%s" % n] = i + 1

n += 1

wb_obj.save("python测试2.xlsx")

  应用2:批量写入数据:将字典内(可以有上百万条数据)的数据保存到.xlsx文件中

from openpyxl import Workbook

dict1 = {

"name": "yay",

"age": 18

}

wb_obj = Workbook()

wb1 = wb_obj.create_sheet("工作表2")

n = 1

for k, v in dict1.items():

wb1["A%s" % n] = k

wb1["B%s" % n] = v

n += 1

wb_obj.save("python测试3.xlsx")

以上是 openpyxl模块 的全部内容, 来源链接: utcz.com/z/530403.html

回到顶部