python操作excel格式文件
python操作excel格式文件
- 1. 读数据
- 2. 写excel
- 3.操作整合
1. 读数据
安装包
pip install openpyxl
导包
from openpyxl import load_workbook
- 读sheet所有操作
加载文件数据
wb=load_workbook('file/p1.xlsx')
获取excel文件中的所有sheet名称
print(wb.sheetnames) #['数据导出', '用户列表', 'Sheet1', 'Sheet2']
根据名称选择sheet
sheet=wb['数据导出']
找单元格
#找第一行第二列单元格 cell=sheet.cell(1,2) print(cell) #<Cell '数据导出'.B1>
获取值
print(cell.value)
根据索引选择sheet
sheet1=wb.worksheets[0]
循环所有sheet
for name in wb.sheetnames:sheet=wb[name]cell=sheet.cell(1,2)print(cell.value)for sheet in wb:cell=sheet.cell(1,1)print(cell.value)
- 读单元格的数据
获取第N行第N列的单元格(位置从1开始)
#获取第1行第1列的单元格(位置从1开始)cell=sheet.cell(1,1)
获取单元格值
print(cell.value)
获取单元格样式
print(cell.style)
获取单元格字体
print(cell.font) #返回font对象
获取单元格排列情况
print(cell.alignment)
获取某个单元格
# A表示列,2表示行 c1=sheet['A2']
获取第N行所有的单元格
#获取第1行所有的单元格,表头 for cell in sheet[1]:print(cell.value)
获取所有行
for row in sheet.rows:print(row[0].value) #每一行的第一列
获取所有列的数据(某一行全取)col[0]是表头
# 获取所有列的数据(某一行全取)col[0]是表头 for col in sheet.columns:print(col) #一整列print(col[1].value) #第一列的值
- 读合并单元格
#合并默认第一个单元格有值,后面为None
c1=sheet.cell(1,1)
print(c1,c1.value) #<Cell 'Sheet1'.A1> 用户信息
c2=sheet.cell(1,2)
print(c2,c2.value) #<MergedCell 'Sheet1'.B1> None
2. 写excel
修改文件要重新保存
原数据基础上写内容(修改内容)
# 找到单元格,并修改单元格的内容 cell=sheet.cell(1,1) cell.value='你好' wb.save('file/p2.xlsx')
保存文件
wb.save('file/p2.xlsx')
新建文件写内容
from openpyxl import workbook # 创建excel且默认会创建一个sheet(名称为Sheet) wb = workbook.Workbook() #获取创建的sheet sheet = wb.worksheets[0] # 或 sheet = wb["Sheet"] # 找到单元格,并填写单元格的内容 cell = sheet.cell(1, 1) cell.value = "新的开始"# 将excel文件保存到p2.xlsx文件中 wb.save("files/p2.xlsx")
3.操作整合
sheet整体操作
修改sheet名称
from openpyxl import workbook #创建sheet,默认名称为Sheet wb=workbook.Workbook() sheet=wb.worksheets[0] sheet.title='王晓宇' wb.save("files/p2.xlsx")
创建sheet并设置sheet名称背景颜色
from openpyxl import workbook wb=workbook.Workbook() #create_sheet(sheet名称,sheet位置) sheet=wb.create_sheet('工作计划',0) sheet.sheet_properties.tabColor="000000" wb.save("files/p2.xlsx")
设置默认打开的sheet
from openpyxl import load_workbook wb=load_workbook('file/p1.xlsx') wb.active=1 wb.save('file/p10.xlsx')
拷贝sheet
from openpyxl import workbook wb=workbook.Workbook() sheet=wb.worksheets[0] sheet.title='王晓宇' new_sheet=wb.copy_worksheet(wb["王晓宇"]) new_sheet.title='新计划' wb.save("file/p40.xlsx")
删除sheet
from openpyxl import load_workbook wb=load_workbook('file/p40.xlsx') del wb['新计划'] wb.save("file/p40.xlsx")
保存
wb.save("file/p40.xlsx")
单元格操作
获取某个单元格,修改值
#方式一 cell=sheet.cell(1,1) cell.value='wxy' wb.save("file/p40.xlsx") #方式二 sheet['A1']='wxy' wb.save("file/p40.xlsx")
获取某些单元格,修改值
cell_list=sheet['B2':'C3'] #row一行 for row in cell_list:for cell in row:cell.value="新值"
对齐方式
- horizontal,水平方向对齐方式:“general”, “left”, “center”, “right”, “fill”, “justify”, “centerContinuous”, “distributed”
- vertical,垂直方向对齐方式:“top”, “center”, “bottom”, “justify”, “distributed”
- text_rotation,文本旋转角度。
- wrap_text,文本是否自动换行。
cell = sheet.cell(9, 2) cell.alignment = Alignment(horizontal='center', vertical='distributed', text_rotation=45, wrap_text=True)
边框
- side(线)的style有如下:dashDot’,‘dashDotDot’, ‘dashed’,‘dotted’,‘double’,‘hair’, ‘medium’, ‘mediumDashDot’, ‘mediumDashDotDot’,‘mediumDashed’, ‘slantDashDot’, ‘thick’, ‘thin’
cell = sheet.cell(9, 2) cell.border = Border(top=Side(style="thin", color="FFB6C1"), bottom=Side(style="dashed", color="FFB6C1"),left=Side(style="dashed", color="FFB6C1"),right=Side(style="dashed", color="9932CC"),diagonal=Side(style="thin", color="483D8B"), # 对角线样式diagonalUp=True, # 左下 ~ 右上方向diagonalDown=True # 左上 ~ 右下方向 )
字体
cell = sheet.cell(5, 1) #underline下划线 cell.font = Font(name="微软雅黑", size=45, color="ff0000", underline="single")
背景颜色
cell = sheet.cell(5, 1) cell.fill = PatternFill("solid", fgColor="99ccff")
渐变背景颜色
cell = sheet.cell(5, 5) cell.fill = GradientFill("linear", stop=("FFFFFF", "99ccff", "000000"))
宽高(索引从1开始)
sheet.row_dimensions[1].height = 50 sheet.column_dimensions["E"].width = 100
合并单元格
sheet.merge_cells("B2:D8") sheet.merge_cells(start_row=15, start_column=3, end_row=18, end_column=8)
解除合并单元格
sheet.unmerge_cells("B2:D8")
写入公式
#乘 sheet = wb.worksheets[3] sheet["D1"] = "合计" sheet["D2"] = "=B2*C2"#加 sheet = wb.worksheets[3] sheet["D3"] = "=SUM(B3,C3)"
删除
# idx,要删除的索引位置 # amount,从索引位置开始要删除的个数(默认为1) sheet.delete_rows(idx=1, amount=20)#删1-20行 sheet.delete_cols(idx=1, amount=3)#删1-3列
插入
sheet.insert_rows(idx=5, amount=10) sheet.insert_cols(idx=3, amount=2)
循环写内容
sheet = wb["Sheet"] cell_range = sheet['A1:C2'] for row in cell_range:for cell in row:cell.value = "xx"for row in sheet.iter_rows(min_row=5, min_col=1, max_col=7, max_row=10):for cell in row:cell.value = "oo"
移动
# 将H2:J10范围的数据,向右移动15个位置、向上移动1个位置 sheet.move_range("H2:J10",rows=-1, cols=15)
打印区域
sheet.print_area = "A1:D200"
打印时,每个页面固定表头
sheet.print_title_cols = "A:D" sheet.print_title_rows = "1:1"
python操作excel格式文件相关推荐
- python操作xlsx格式文件
python操作xlsx格式文件 一.准备工作 二 .xlrd库读取 三.pandas库读取 1.安装pandas: pip install pandas 2.代码如下 3.操作行列 一.准备工作 二 ...
- python操作XML格式文件
python操作XML格式文件 python操作XML格式文件 1. 读取文件和内容 2.读取节点数据 3.修改和删除节点 4.构建文档 python操作XML格式文件 可扩展标记语言,是一种简单的数 ...
- python—openpyxl自动化操作Excel格式文件(6~10课)
我有点懒直接截图的 仅个人笔记 复习需要 !!!!!! 文章目录 前言 一.安装库openpyxl 二.python打开及读取Excel表格内容 1.Excel表格基本术语 2.打开及读取表格数据 2 ...
- java解析excel文件_1.3.1 python解析excel格式文件
Excel表格 Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件. excel文档的基本定义 工作薄(work ...
- 1.3.1 python解析excel格式文件
Excel表格 Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件. excel文档的基本定义 工作薄(work ...
- python操作excel表格文件--使用xlrd模块
原文: http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html 引言: 实际工作中,可能很多情况下都会用到excel表格,像如果不需 ...
- python 处理 excel格式文件
python 调用xlrd package就可以处理excel文件. 简单例子如下: 源码如下: # -*- coding: utf-8 -*- import xlrd #-------------- ...
- Matlab操作excel格式文件
1,读取excel文件 使用xlsread函数,格式 num = xlsread(filename,sheet,xlRange) [num,txt,raw] = xlsread('my_example ...
- python操作Excel格式与下载
#1.第一步导入相应的模块import xlwtfrom xlwt import *#2.第二步创建excel表格 workbook = xlwt.Workbook() sheet = workboo ...
最新文章
- 2020各省份大学排名出炉!
- 他用五年研究百位百万富翁生活习惯 结果很震撼
- MSP430F5529 DriverLib 库函数学习笔记(十六)比较器B Comp_B
- Socket的send函数在执行时报EAGAIN的错误
- php5.6扩展编写,php 5.6版本中编写一个PHP扩展的简单示例
- Qt工作笔记-使用QGraphicsItem加载图片并实现碰撞
- Java基础-重要版本
- CentOS - thin web server for Ruby(centos下安装thin,运行rails)
- 计算机储存单元中的储存的内容是什么,什么是存储单元的地址?什么是存储单元的内容?...
- SAP SD客户主数据
- Oracle AutoVue介绍
- 苹果手机开发微信公众号 禁止分享时遇到了问题
- 训练3.21(C:Summer Dichotomy)
- 推荐几款HTML5开发工具
- 微信支付分(四)--取消支付分订单
- git reflog 时光穿梭机
- 深度解读扫地机器人的导航原理
- 猪猪女孩有多蠢,猫爪杯就有多火
- Visual Studio2022安装教程
- 计算机用的云电脑,玩家怎么才能将家用电脑变成云电脑?