python处理EXCEL

python处理EXCEL

在Python中,有多个库可以用来操作Excel文件。其中比较常用的有openpyxl、pandas,以及xlsxwriter。下面我将分别介绍这些库及其使用方法。

一、openpyxl

安装
pip install openpyxl
示例代码
from openpyxl import Workbook, load_workbook
from openpyxl.styles import Font, Alignment
from openpyxl.chart import BarChart, Reference

# 创建一个新的Excel文件并写入数据
wb = Workbook()
ws = wb.active
ws.title = "Sheet1"

# 写入数据
ws['A1'] = 'Hello'
ws.append([123])
ws.append([456])
ws.append([789])

# 设置字体和对齐方式
ws['A1'].font = Font(size=14, bold=True)
ws['A1'].alignment = Alignment(horizontal='center', vertical='center')

# 合并单元格
ws.merge_cells('A1:C1')

# 添加公式
ws['A5'] = '=SUM(A2:A4)'

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

# 保存文件
wb.save('openpyxl_example.xlsx')

# 读取已有的Excel文件
wb = load_workbook('openpyxl_example.xlsx')
ws = wb.active
print(ws['A1'].value)  # 输出 'Hello'

二、pandas

安装
pip install pandas openpyxl
示例代码
import pandas as pd

# 创建数据
df = pd.DataFrame({
    'A': [123],
    'B': [456],
    'C': [789]
})

# 写入数据到Excel
df.to_excel('pandas_example.xlsx', index=False)

# 读取Excel数据
df = pd.read_excel('pandas_example.xlsx')
print(df)

# 使用pandas进行Excel格式设置和单元格合并需要使用openpyxl
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl.styles import Font, Alignment

# 载入工作簿和工作表
wb = load_workbook('pandas_example.xlsx')
ws = wb.active

# 设置字体和对齐方式
ws['A1'].font = Font(size=14, bold=True)
ws['A1'].alignment = Alignment(horizontal='center', vertical='center')

# 合并单元格
ws.merge_cells('A1:C1')

# 添加公式
ws['A5'] = '=SUM(A2:A4)'

# 保存文件
wb.save('pandas_example.xlsx')

三、xlsxwriter

安装
pip install XlsxWriter
示例代码
import xlsxwriter

# 创建一个新的Excel文件
workbook = xlsxwriter.Workbook('xlsxwriter_example.xlsx')
worksheet = workbook.add_worksheet()

# 写入数据
data = [104050201050]
worksheet.write_column('A1', data)

# 设置格式
bold = workbook.add_format({'bold'True})
worksheet.write('A1''Hello', bold)

# 合并单元格
worksheet.merge_range('A1:C1''Merged Cells', bold)

# 添加公式
worksheet.write('A8''=SUM(A2:A7)')

# 创建一个图表对象
chart = workbook.add_chart({'type''column'})

# 配置图表数据范围
chart.add_series({'values''=Sheet1!$A$2:$A$7'})

# 将图表插入工作表
worksheet.insert_chart('E5', chart)

# 关闭并保存文件
workbook.close()

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/844111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Numpy】NumPy数组的切片和索引操作深入详解

深入理解NumPy数组的切片和索引操作 引言 在数据分析和科学计算中,NumPy 是一个非常重要的库。它提供了强大的多维数组对象和丰富的函数库,帮助我们高效地进行数值计算和数据操作。今天,我们将深入探讨 NumPy 数组的切片和索引操作。 什么…

MySQL之性能剖析(四)

性能剖析 使用慢查询 Percona Server对慢查询日志做了哪些改进?比如"使用SHOW PROFILE"执行相同查询后可以抓取到的结果 # Time:110905 17:03:18 # UserHost:root[root] localhost[127.0.01] # Thread_id:7 Schema:saklia Last_errono:0 Killed:0 # Qu…

SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】

2.2 漏洞详情 SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 【可验证】 详细描述TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。 TLS, SSH, IPSec协商及其他产品中使用的IDEA、DES及Triple DES密码或者3DES及Triple 3DES存在大约…

我想给儿子开发一个手机应用

我想给儿子开发一个手机应用,不知道从何入手,利用AI获取的大概方向: 在开发一款针对少儿的手机应用(App)时,内容方向的选择至关重要。以下是一些建议的方向,它们结合了当前的市场趋势、儿童教育…

自动化使用 ChatGPT 生成 PPT 大纲 - 基于 Python 和 PyAutoGUI

这篇文章将指导您利用 Python 的 pyautogui 库创建一个自动化的脚本,帮助您使用 ChatGPT 生成公司智能管理平台的 PPT 大纲。该脚本将打开 Chrome 浏览器,访问 ChatGPT 并输入相应的提示词,让 ChatGPT 为您创建 PPT 大纲。 C:\pythoncode\ne…

QGis3.34.5工具软件保存样式,软件无反应问题

在使用QGis软件保存SLD样式的时候,每次保存样式,软件都进入无反应状态,导致无法生成样式文件 百度中多次查询问题点,终未能在在3.34.5这个版本上解决问题。 考虑到可能是软件本身问题,于是删除了3.34.5这个版本&#x…

SAP ABAP MD04屏幕增加:增加列

需求:增加显示销售订单送达方 主要使用二代增强出口:M61X0002 事务码T-code:CMOD 填写描述,保存到对应的包下 分配增强到项目下 激活组件,激活后效果如下 编写ZXM61U04 SAP留出的按钮,填写描述 button1_ez = 送达方. 编写ZXM61U03 *&-------------------------…

Java版招投标管理系统源码:优化流程,提升效率,实现全方位项目管理

在现今日益竞争激烈的招标市场中,企业需要一款强大而灵活的招投标管理系统来优化流程、提升效率。我们的招投标管理系统正是为此而生,它集门户管理、立项管理、采购项目管理、公告管理、考核管理、报表管理、评审管理、企业管理、采购管理和系统管理等多…

解决git status提示error bad signature 0x00000000

问题描述: 操作git的时候电脑卡了,重启电脑后git status就提示bad signature 0x00000000,index file corrupt错误,如下: 解决办法: rm -f .git/index git reset

【赠书第25期】C#项目开发实战(微视频版)

文章目录 前言 1 项目构思与需求分析 1.1 项目构思 1.2 需求分析 2 系统设计 2.1 系统架构设计 2.2 数据库设计 2.3 接口设计 3 编码实现 3.1 环境搭建 3.2 编码规范 3.3 编码实现 4 测试与部署 4.1 单元测试 4.2 系统测试 4.3 部署与上线 5 总结与展望 6 推…

[面经] 西山居非正式面试(C++)

前言 这次面试是我第一次面试,而且我也并没有做好准备,应该说几乎就是临场发挥,面试的时间与我推测的相差太大,几乎就是做完简历的下一天就马上去面试了,有不少地方自己没能很好的答出,故做此记录。 关于…

代码随想录算法训练营第五十四天||392.判断子序列、115.不同的子序列

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、392.判断子序列 思路 二、115.不同的子序列 思路 一、392.判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是…

力扣算法之1070. 产品销售分析 III

力扣传送门 题解 选出每个售出过的产品 第一年 销售的 产品 id、年份、数量 和 价格,很明显就是个排序问题 我的解 SELECT product_id,year as first_year,quantity,price FROM ( SELECT sale_id,RANK() OVER(PARTITION BY product_id ORDER BY [year] asc ) A…

第五周:坦诚是领导力的根基

1. 懂得很多道理,依然过不好这一生 “纸上得来终觉浅,绝知此事要躬行。” 我们往往就是这样,开导别人的时候,口若悬河,心灵鸡汤信手拈来,自以为洞穿了他人困境的本质,并且找到了解决办法&#x…

TinyChat: Visual Language Models Edge AI 2.0

TinyChat: Visual Language Models & Edge AI 2.0 要点 了解TinyChat和AWQ最新的技术发展。在边缘部署语言理解模型(LSTM)后,借助于视觉语言模型(VLM),可以为LLM提供更好地处理图像输入的能力,从而极大方便了文字对话问答、图片标题生成…

C#中结构struct能否继承于一个类class,类class能否继承于一个struct

C#中结构struct能否继承于一个类class,类class能否继承于一个struct 答案是:都不能。 第一种情行,尝试结构继承类 报错:接口列表中的类型"XX"不是接口interface。 一般来说,都是结构只能实现接口&#x…

【第四节】C++的派生与继承

目录 一、继承特性 二、派生类的定义格式 三、派生类的继承方式 3.1 三种继承方式概述 3.2 接口继承和实现继承 四、派生类的构造和析构函数 五、类的成员重定义 六、多重继承 6.1 多继承 6.2 多继承中的二义性问题 七、虚基类 八、总结 一、继承特性 在生物学中&a…

HDFS RPC响应调优:FairCallQueue调优

参考材料: Apache Hadoop 3.4.0 – Fair Call Queue Guide 一、案例 在 core-site.xml 配置文件中添加如下配置项&#xff1a; <property><name>ipc.8020.callqueue.impl</name><value>org.apache.hadoop.ipc.FairCallQueue</value> </pr…

vue学习汇总

目录 一、vue基本语法 1.插值表达式 {{}} 2.显示数据(v-text)和(v-html) 3.事件处理(v-on) 4.循环遍历(v-for) 5.判断语法(v-if) 6.元素显示与隐藏(v-show) 7.动态设置属性(v-bind) 8.数据双向绑定(v-model) 9.计算属性 二、vue组件 1.使用组件的三个步骤 2.注册组…

有趣的css - 列表块加载动效

大家好&#xff0c;我是 Just&#xff0c;这里是「设计师工作日常」&#xff0c;今天分享的是用 css 打造一个极简的列表块加载动效。 最新文章通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页面渲染效果 整…