资讯专栏INFORMATION COLUMN

openpyxl 基础操作

robin / 3618人阅读

摘要:特别提醒不支持对文件的处理,且对原文件的样式保存非常不友好,如果你有保存原文件样式要求的话,建议使用替代基础操作直接复制代码到编辑器,边看边运行,理解起来估计还快些第一部分创建并写入数据创建一个表,并写入数据导入一个已存在的打开活动的工作薄

特别提醒:
openpyxl不支持对xls文件的处理,且对原文件的样式保存非常不友好,如果你有保存原文件样式要求的话,建议使用xlwings替代openpyxl

基础操作:

直接复制代码到编辑器,边看边运行,理解起来估计还快些~

from openpyxl import load_workbook
from openpyxl import Workbook

# ===============  第一部分,创建并写入数据 =====================
# 创建一个test.xlsx表,并写入数据
# wb = Workbook()
# ws = wb.active
# for row in range(1,4):
#     ws.append([row*10+1,row*10+2,row*10+3])
# wb.save("data/test.xlsx")
# exit()

# 导入一个已存在的test.xlsx
load_wb = load_workbook("data/test.xlsx")
# 打开活动的工作薄的活动工作簿,或者指定的工作簿
load_ws = load_wb.active
# load_ws = load_wb.get_sheet_by_name("Sheet")

# ============== 第二部分,插入、删除行和列 ========================
# 1-①在第二行前插入1行
# load_ws.insert_rows(2,1)
# 1-②从第二行开始删除1行
# load_ws.delete_rows(2,1)
# 2-①在第二列前插入2列
# load_ws.insert_cols(2,2)
# 2-②从第二列开始删除1列
# load_ws.delete_cols(2,1)

# 获取总行数(存在数据)
# load_wb.save("data/test.xlsx")
# rows = load_ws.max_row
# cols = load_ws.max_column
# print("该表格总共有:"+str(rows)+" 行")
# print("该表格总共有:"+str(cols)+" 列")
# exit()

# ============== 第三部分,获取单元格的值 ========================
# 获第三行第一列的值,两种方法都行
# 方法一,根据单元格名称获取
# v = load_ws["A3"].value
# 方法二,根据横纵坐标值来获取
# v = load_ws.cell(3,1).value
# print(v)
# 获取全部的单元格
# rows = load_ws.rows
# for row in rows:
#     for cell in row:
#         if(cell.value==21):
#             print(dir(cell))
#             #可用属性 col_idx、column、row、value
#             print(cell.col_idx)
#             print(cell.column)
#             print(cell.row)


# ============== 第三部分,修改指定单元格的值 ========================
# load_ws["A2"] = "xx"
# load_wb.save("data/test.xlsx")
# exit()

# ============== 第四部分,合并单元格 ========================
# load_ws.merge_cells("A2:B2")
# load_wb.save("data/test.xlsx")
# exit()

# ============== 第五部分,设置样式(文字居左) ========================
# from openpyxl.styles import Alignment
# # 水平居右,垂直居中,自动换行
# load_ws["A2"].alignment = Alignment(horizontal="right",vertical="center",wrap_text=True)
# # 自动换行
# load_ws["G1"].alignment = Alignment(wrap_text=True)
#
# from openpyxl.styles import Font
# # 设置字体为“宋体”,大小为11,bold为加粗,italic为斜体,strike为删除线,颜色为黑色
# font = Font(u"宋体",size = 11,bold=True,italic=True,strike=True,color="000000")
# load_ws["A1"].font = font

# from openpyxl.styles import PatternFill
# # 设置背景色为 #1874CD
# fill = PatternFill("solid", fgColor="1874CD")
# load_ws["C3"].fill = fill

# 第2行行高
load_ws.row_dimensions[2].height = 40
# C列列宽
load_ws.column_dimensions["C"].width = 30

load_wb.save("data/test.xlsx")
exit()


# ============== 第六部分,其它 ========================
# # 打印设置
# load_ws.print_options.horizontalCentered = True
# load_ws.print_options.verticalCentered = True
# load_ws.print_area = "A1:I5"
# load_wb.save("data/test.xlsx")

from openpyxl.utils import get_column_letter, column_index_from_string
# 根据列的数字返回字母
print(get_column_letter(2))  # B
# 根据字母返回列的数字
print(column_index_from_string("D"))  # 4

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43371.html

相关文章

  • openpyxl学习——基础

    摘要:创建新行新列统计有多少行多少列,中文编码问题,单元格为空的问题。如果是将从头到尾顺序添加。,如果是按照相应的键添加相应的键值。 【未完成】欢迎添加问题openpyxl能做到什么。更系统的文档。有没有覆盖的函数。创建新行、新列、统计有多少行、多少列,中文编码问题,单元格为空的问题。既然是处理excel的,excel自身的特点,比如excel函数、图表、合并,等等的特性 简介 官方文档 写...

    hellowoody 评论0 收藏0
  • 放弃openpyxl,拥抱xlwings(python操作xls)

    摘要:基础操作放弃的基础理由不支持文件处理亲测目前版本样式保存的还未解决如果遇到上面两个问题,直接放弃,拥抱吧,没什么出路文档在国内搜索基本很少,如下是基本的单元格操作在如下未满足的情况,可以看下操作文档,可以调它的。 xlwings基础操作 放弃openpyxl的基础理由:①不支持xls文件处理; ②亲测目前版本样式保存的bug还未解决; 如果遇到上面两个问题,直接放弃openpyxl,...

    bbbbbb 评论0 收藏0
  • 用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中

    摘要:特别注意当用模式载入时,跟都是对象。可以使用载入已经存在的表。我们的目的是从源表中提取信息并批量复制到目标表中,所以我们首先定义一些变量。最后保存目标就可以了。 现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法长时间做某种重复性的枯燥操...

    gaosboy 评论0 收藏0
  • python实现——处理Excel表格(超详细)

    摘要:目录和基本操作用模块打开文档,查看所有表通过名称获取表格获取活动表获取表格的尺寸获取单元格中的数据获取单元格的行列坐标获取区间内的数据获取指定区间的数据获取指定行列的数据按行列获取值获取活动表的行列数操作创建新的修改单 ...

    Richard_Gao 评论0 收藏0
  • python3与Excel的完美结合

    摘要:对象也有和属性提供该单元格的位置信息。读取对象的属性一个完整的案例代码如下读取文档返回一个对象,有点类似于文件对象在工作薄中取得工作表返回一个列表,存储表中所有的工作表返回一个对象,返回当前的活动表获取工作表中,单元格的信息的属性 Excel 是 Windows 环境下流行的、强大的电子表格应用。openpyxl 模块让 Python 程序能读取和修改 Excel 电子表格文件。例如,...

    enrecul101 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<