首页 > 编程语言 >Python与excel交互(xlwt库和openpyxl库的使用)

Python与excel交互(xlwt库和openpyxl库的使用)

时间:2024-10-22 23:46:28浏览次数:3  
标签:xlwt openpyxl Python 单元格 写入 A1 ws data row

xlw库介绍

xlwt是用于在Python中操作Excel文件的第三方库,主要用于创建和写入Excel文件(xls格式)。
使用xlwt可以方便地设置单元格的样式,像设置字体(如字体大小、颜色等)、对齐方式(水平和垂直对齐)和边框等。还能灵活控制工作表的行高和列宽,以满足不同数据展示的需求。在数据写入方面,可以向单元格写入文本、数字等各种类型的数据,也可以把整个列表或者数组的数据批量写入工作表。

xlw库使用

  1. 创建一个新的工作簿 workbook = xlwt.Workbook()
  2. 添加一个工作表 worksheet = workbook.add_sheet('Sheet1')
  3. 保存工作簿 workbook.save('example.xls')
  4. 写入数据到单元格 (行row, 列col, 数据label) worksheet.write(0, 0, 'Hello')
  5. 创建一个样式 style = xlwt.XFStyle()
  6. 设置字体
 font = xlwt.Font() font.name = 'Times New Roman' font.bold =
 True style.font = font
  1. 写入数据到单元格并应用样式
 worksheet.write(0, 0, 'Hello', style)
    worksheet.write(0, 1, 'World', style)
  1. 合并单元格 (开始行firstrow, 结束行lastrow, 开始列firstcol, 结束列lastcol,数据label)
 worksheet.write_merge(0, 1, 0, 1, 'MergedCells')
  1. 设置列宽 (列索引, 宽度) worksheet.col(0).width = 256 * 20 # 20个字符宽度
  2. 设置行高 (行索引, 高度)
worksheet.row(0).height_mismatch = True
worksheet.row(0).height = 20 * 20  # 20个点高度

注意事项 xlwt只能创建.xls格式的文件,不支持.xlsx格式。如果你需要创建.xlsx文件,可以使用openpyxl库。

xlwt不支持读取Excel文件,只支持写入。如果你需要读取Excel文件,可以使用xlrd库。

Openpyxl库介绍

openpyxl是一个用于读写Excel文件( .xlsx 、 .xlsm 、 .xltx 、 .xltm )的Python库。
它可以创建新的Excel文档,也能读取和修改已有的文档。
在操作Excel文件的单元格、行和列方面功能强大。可以方便地访问单元格的值,设置单元格的格式,如字体、颜色、对齐方式等。而且还支持对工作表进行插入、删除行列等操作。

Openpyxl库常用操作

官方使用教程文档

  1. Openpyxl导入
from openpyxl import Workbook
  1. 创建一个新的工作簿
wb = Workbook()
  1. 获取默认的工作表
ws = wb.active
  1. 保存工作簿
wb.save("example.xlsx")
  1. 打开一个现有的工作簿
from openpyxl import load_workbook
wb = load_workbook("example.xlsx")
  1. 获取默认的工作表
ws = wb.active
  1. 创建一个新的工作表
ws1 = wb.create_sheet("Sheet1")
  1. 选择一个现有的工作表
ws2 = wb["Sheet1"]
  1. 写入单个单元格
ws['A1'] = 42
  1. 写入一行数据
ws.append([1, 2, 3, 4, 5])
  1. 写入多行数据
data = [
    ['Name', 'Age', 'City'],
    ['Alice', 30, 'New York'],
    ['Bob', 25, 'Los Angeles']
]

for row in data:
    ws.append(row)
  1. 读取单个单元格
value = ws['A1'].value
  1. 读取一行数据
row_data = [cell.value for cell in ws[1]]
  1. 读取多行数据
for row in ws.iter_rows(min_row=2, max_row=3, min_col=1, max_col=3):
    row_data = [cell.value for cell in row]
    print(row_data)
  1. 合并单元格
ws.merge_cells('A1:C1')
  1. 拆分单元格
ws.unmerge_cells('A1:C1')

from openpyxl.styles import Font, Color, PatternFill, Border, Side, Alignment
  1. 设置字体
ws['A1'].font = Font(name='Calibri', size=12, bold=True, italic=True, color='FF0000')
  1. 设置填充
ws['A1'].fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
  1. 设置边框
border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin'))
ws['A1'].border = border
  1. 设置对齐方式
ws['A1'].alignment = Alignment(horizontal='center', vertical='center')
  1. 插入行
ws.insert_rows(2)
  1. 插入列
ws.insert_cols(2)
  1. 删除行
ws.delete_rows(2)
  1. 删除列
ws.delete_cols(2)
  1. 保存工作簿
wb.save("example.xlsx")

Openpyxl高级使用

1.处理公式

# 写入公式
ws['A1'] = "=SUM(B1:B10)"

# 读取公式
formula = ws['A1'].value

2.处理图表

from openpyxl.chart import BarChart, Reference
# 创建数据
ws.append(['Category', 'Value'])
ws.append(['A', 10])
ws.append(['B', 20])
ws.append(['C', 30])

# 创建图表
chart = BarChart()
data = Reference(ws, min_col=2, min_row=1, max_row=4, max_col=2)
categories = Reference(ws, min_col=1, min_row=2, max_row=4)
chart.add_data(data, titles_from_data=True)
chart.set_categories(categories)

# 添加图表到工作表
ws.add_chart(chart, "E5")

3.处理日期

from datetime import datetime

# 写入日期
ws['A1'] = datetime.now()

# 读取日期
date_value = ws['A1'].value

在这里插入图片描述
╰( ̄ω ̄o)蟹蟹观看╰( ̄ω ̄o)

标签:xlwt,openpyxl,Python,单元格,写入,A1,ws,data,row
From: https://blog.csdn.net/FFNCL/article/details/143141988

相关文章

  • 使用OpenCV进行视频边缘检测:案例Python版江南style
    1.引言本文将演示如何使用OpenCV库对视频中的每一帧进行边缘检测,并将结果保存为新的视频文件。边缘检测是一种图像处理技术,它可以帮助我们识别出图像中不同区域之间的边界。在计算机视觉领域,这项技术有着广泛的应用,比如物体识别、运动分析等。2.环境准备为了运行本示例......
  • Gradio(二):利用纯python代码创建Web应用最简单的包
    接上文“Gradio:利用纯python代码创建Web应用最简单的包”本文进一步介绍Gradio包的使用。1、多个输入与多个输出当需要多个输入和多个输出时importgradioasgrdefgreet(name,is_morning,temperature):salutation="Goodmorning"ifis_morningelse"Goodeve......
  • 基于大数据 Python+Vue 电影票房爬取可视化系统(源码+LW+部署讲解+数据库+ppt)
    !!!!!!!!!会持续一直更新下去有问必答一键收藏关注不迷路源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d提取码:jf1d!!!!!!!!!项目介绍在快速发展的社会中,娱乐领域也在不断进步。为了提高数据分析的效率和观众的观影体验,越来越多的影视公司和电影院选择利用互联网......
  • 100+SCI科研绘图系列教程(R和python)
    科研绘图系列:箱线图加百分比点图展示组间差异-CSDN博客科研绘图系列:箱线图加蜜蜂图展示组间数据分布-CSDN博客科研绘图系列:小提琴图和双侧小提琴图展示组间差异-CSDN博客科研绘图系列:组间差异的STAMP图的ggplot2实现-CSDN博客科研绘图系列:组间差异误差棒展示-CSDN博客科研绘......
  • 基于PyQt Python的深度学习图像处理界面开发(二)
         Python标准库更多的适合处理后台任务,唯一的图形库tkinter使用起来很不方便,所以后来出现了针对Python图形界面开发的扩展库,例如PyQt。    在介绍PyQt之前,必须先简单介绍一下Qt。Qt是一个C++可视化开发平台,是一个跨平台的C++图形用户界面应用程序框架(C++......
  • python捕获鼠标键盘
    https://item.taobao.com/item.htm?from=cart&id=771194972569&pisk=f8nsFbjz51fs1GLwPtpUPW36bmrjcjtyctwxExINHlETGoMjerI2SlzbcXFEb5kaXSZjhYUxgSkNI2creGowSoSbjoqvaQ-y4ODgmoFaQ0_Nske7enSAX-KXde_DaQ-ycFBLcCOr_GiSnMe7eoeTk5Cpd-yVDshADkpQH-5OkGhvdvF3h1QAXrI......
  • 【Python-AI篇】数据结构和算法
    1.算法概念1.1什么是数据结构存储,组织数据的方式1.2什么是算法实现业务目的的各种方法和思路算法是独立的存在,只是思想,不依附于代码和程序,可以使用不同语言实现(java,python,c)1.2.1算法的五大特性输入:算法具有0个或多个输入输出:算法至少有1个或多个输出有穷性:算法......
  • Python——脚本实现datax全量同步mysql到hive
    文章目录前言一、展示脚本二、使用准备1、安装python环境2、安装EPEL3、安装脚本执行需要的第三方模块三、脚本使用方法1、配置脚本2、创建.py文件3、执行脚本4、测试生成json文件是否可用前言在我们构建离线数仓时或者迁移数据时,通常选用sqoop和datax等工具进行......
  • Python停车场车位识别
    程序示例精选Python停车场车位识别如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!前言这篇博客针对《Python停车场车位识别》编写代码,代码整洁,规则,易读。学习与应用推荐首选。文章目录一、所需工具软件二、使用步骤       1.......
  • python 轻松实现公司内部音视频会议
     一些公司内部会议系统价格比较昂贵,而且经常出现问题,为了保证公司内部数据泄密问题,可以自己开发一个内部视频会议软件。会议窗口如下开发语言        python3.9功能描述:        python实现公司内部音视频会议、收发文件实现代码(简易版)     ......