openpyxl模块

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")

posted @ 2020-10-15 21:44  Sg、  阅读(53)  评论(0编辑  收藏