openpyxl库

2024-09-03 12:32
文章标签 openpyxl

本文主要是介绍openpyxl库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

import openpyxl
path=r'C:\Users\Administrator\Desktop\*.xlsx'
try : wb = openpyxl.load_workbook(path)    #加载excel文件 
except : wb=openpyxl.Workbook()   		   #创建新的excel
#工作簿操作
wb.sheetnames                              #获取全部工作簿 
sheet = wb.active                          #获得当前活动sheet
sheet = wb[sheetname]                      #设定工作簿
sheet.title                                #获取当前sheet名
wb.create_sheet()                          #创建新的工作簿
del wb["Sheet1"]                           #删除指定工作簿
wb.copy_worksheet(sheet)                   #复制指定工作簿
#表格信息
sheet['A1'].value                          #获取A1数值
sheet['A1']=1                              #A1赋值为1
sheet.cell(row=1, column=2).value=1
sheet.max_row                              #获得行数
sheet.max_column                           #获得列数
sheet['A1':'C3']                           #获得矩形区域
for cell in sheet['A1':'C3']:cell.value							   #获得矩形区域数据
X = [x.value for x in sheet[get_column_letter(1)]]	
for cell in sheet["A"]:cell.value                             #获得一列数据
for cell in sheet[1]:cell.value                             #获得一行数据
row_range = sheet[1:3]
for row in row_range:for cell in row:cell.value                         #获得多行数据
sheet.rows								   #获得所有行数据
sheet.columns							   #获得所有列数据
#增加到最后一行数据
sheet.append(["Fruit", "2011", "2012", "2013", "2014"])
#保存并退出excel
wb.save(path)
wb.close()

获得全部数据

def get_all(sheet,dic=False):   #默认返回列表if dic : data={}else : data=[]for rows in sheet.rows:row=[]for cell in rows:row.append(cell.value)if dic :if row[0] : data[row[0].strip()]=rowelse : data.append(row)return data
data=get_all(sheet)

获得字典数据

def get_dict(sheet,nums=None):d={} ; n=0for rows in sheet.rows:row=[] ;sub={}for cell in rows : row.append(cell.value)if n==0 : index=rowelse :if not nums:for val1,val2 in zip(index,row) : try :sub[val1.strip()]=val2except : print('第一行指标存在None') sub.pop(index[0].strip())else :for num in nums:try :sub[index[num].strip()]=row[num]except : print('第一行指标存在None') try : d[row[0].strip()]=subexcept : print('第一列指标存在None') n += 1return d
a=get_dict(sheet,nums=[2,3])

列字母和数字之间的转换

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

单元格类型

# -*- coding: utf-8 -*-
from openpyxl import Workbook
from openpyxl import load_workbook
import datetime
wb = load_workbook('e:\\sample.xlsx')ws=wb.active
wb.guess_types = Truews["A1"]=datetime.datetime(2010, 7, 21)
print ws["A1"].number_formatws["A2"]="12%"
print ws["A2"].number_formatws["A3"]= 1.1
print ws["A4"].number_formatws["A4"]= "中国"
print ws["A5"].number_format
# Save the file
wb.save("e:\\sample.xlsx")
执行结果:
yyyy-mm-dd h:mm:ss
0%
General
General
#如果是常规,显示general,如果是数字,显示'0.00_ ',如果是百分数显示0%
数字需要在Excel中设置数字类型,直接写入的数字是常规类型

设置字体风格

import os, openpyxl
from openpyxl.styles import Font
os.chdir("C:\\Users\\Administrator\\Desktop\\")
wb = openpyxl.Workbook()
sheet = wb['Sheet']
italic24Font = Font(size = 24, italic = True,name='Times New Roman', bold=True)
sheet['A1'].font = italic24Font
sheet['A1'] = 'Hello world!'
wb.save('styled.xlsx')

公式

sheet['B9'] = '=SUM(B1:B8)'

设置行高列宽

sheet.row_dimensions[1].height = 70     #设置行高
sheet.column_dimensions['B'].width = 20   #设置列宽

合并和拆分单元格

sheet.merge_cells('A1:D3')   #合并单元格
sheet.unmerge_cells('A1:D3') #拆分单元格

去掉无法识别字符

ILLEGAL_CHARACTERS_RE = re.compile(r'[\000-\010]|[\013-\014]|[\016-\037]')
content = ILLEGAL_CHARACTERS_RE.sub(r'', content)

这篇关于openpyxl库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132961

相关文章

Python|玩转 Excel:Pandas、openpyxl、pywin32

文章目录 引言Pandas读取 Excel写入 Excel数据操作样式设置数据验证公式支持 openpyxl读取 Excel写入 Excel数据操作样式设置数据验证公式支持图表创建 xlrd / xlwt读取 Excel(xlrd)写入 Excel(xlwt) pyxlsb读取 Excel(pyxlsb) xlsxwriter写入 Excel样式设置公式支持图表创建 pywin32 (Win

使用Python+docx+openpyxl将Word表格转换为Excel表格

一、使用Python+docx+openpyxl将Word表格转换为Excel表格 # 导入docx模块,用于读取word文档from docx import Document# 导入openpyxl模块,用于写入excel文档import openpyxl# 创建一个Document对象,表示要读取的word文档doc = Document("data.docx")# 创建一个Workb

Python酷库之旅-第三方库openpyxl(03)

目录 一、 openpyxl库的由来 1、背景 2、起源 3、发展 4、特点 4-1、支持.xlsx格式 4-2、读写Excel文件 4-3、操作单元格 4-4、创建和修改工作表 4-5、样式设置 4-6、图表和公式 4-7、支持数字和日期格式 二、openpyxl库的优缺点 1、优点 1-1、支持现代Excel格式 1-2、功能丰富 1-3、易于使用 1-4、

Python酷库之旅-第三方库openpyxl(02)

目录 一、 openpyxl库的由来 1、背景 2、起源 3、发展 4、特点 4-1、支持.xlsx格式 4-2、读写Excel文件 4-3、操作单元格 4-4、创建和修改工作表 4-5、样式设置 4-6、图表和公式 4-7、支持数字和日期格式 二、openpyxl库的优缺点 1、优点 1-1、支持现代Excel格式 1-2、功能丰富 1-3、易于使用 1-4、

Python酷库之旅-第三方库openpyxl(01)

目录 一、 openpyxl库的由来 1、背景 2、起源 3、发展 4、特点 4-1、支持.xlsx格式 4-2、读写Excel文件 4-3、操作单元格 4-4、创建和修改工作表 4-5、样式设置 4-6、图表和公式 4-7、支持数字和日期格式 二、openpyxl库的优缺点 1、优点 1-1、支持现代Excel格式 1-2、功能丰富 1-3、易于使用 1-4、

Python openpyxl 库使用详解

大家好,当谈论处理 Excel 文件时,Python 的 openpyxl 库无疑是一个强大而灵活的工具。无论是在数据分析、报告生成还是自动化任务中,openpyxl 都展现出了其独特的价值。本文将详细介绍 openpyxl 库的各种功能和用法,帮助读者掌握如何利用 Python 轻松处理 Excel 文件。         Excel 文件作为广泛使用的数据存储和交换格式,

Python 3 使用 openpyxl 读取表格

# -*- coding: utf-8 -*-from openpyxl import load_workbook# 打开表格wb = load_workbook(r"测试表格.xlsx")# 参数 data_only=True, 当有公式计算的时候可以获取到计算结果 , 不加显示公式本身 =SUM(D2:D6)# wb = load_workbook(r"测试表格.xlsx", data_o

【Python】openpyxl库的介绍及用法

目录 1、应用场景 2、openpyxl库-三方库 1、应用场景 openpyxl库在Python中处理Excel文件的各种场景中都非常有用。以下是一些具体的应用场景: 数据分析:你可以使用openpyxl读取Excel数据,然后使用Python进行数据清洗、转换和分析。报告生成:如果你需要定期生成包含大量数据的Excel报告,可以使用openpyxl自动化这个过程。数据转换

python-excel自动化-openpyxl

openpyxl学习笔记 创建或打开表格存储和遍历数据设置单元格风格过滤器和排序更改工作表的背景颜色合并单元格冻结窗口数字格式公式图像图表条形图折线图散点图 创建或打开表格 # 创建import datetime from openpyxl import Workbook # 实例化wb = Workbook()# 激活 worksheetws = wb.act

openpyxl学习笔记

openpyxl学习笔记 官方文档地址:https://openpyxl.readthedocs.io/en/stable/ 1.安装 #从官方地址下载,不过速度比较慢pip3 install openpyxl#从国内镜像源下载pip3 install openpyxl -i https://pypi.douban.com/simple #豆瓣源#或者从清华大学源pip3 inst