当前位置: 首页 > article >正文

python如何把数据导出生成excel ?

目录

  • 前言
  • 一、使用openpyxl生成Excel文件
  • 二、使用pandas生成Excel文件
  • 总结


前言

在Python中,将数据导出生成Excel文件,最常用的库之一是openpyxl(用于处理.xlsx文件)和pandas(提供了更高级的数据处理功能,并且可以很方便地将DataFrame导出到Excel)。以下将分别介绍如何使用这两个库来生成Excel文件。


一、使用openpyxl生成Excel文件

如果你只想使用openpyxl来生成Excel文件,你可以手动创建工作簿、工作表,并写入数据。

from openpyxl import Workbook  
  
# 创建一个工作簿  
wb = Workbook()  
  
# 激活工作表  
ws = wb.active  
  
# 更改工作表的标题  
ws.title = "Example Sheet"  
  
# 写入数据  
ws.append([1, 2, 3])  # 写入一行数据  
ws['A2'] = 'Hello'  # 直接指定单元格写入数据  
ws.cell(row=3, column=2, value="World")  # 通过行号和列号写入数据  
  
# 保存工作簿  
wb.save("example.xlsx")

二、使用pandas生成Excel文件

如果你的数据已经是pandas DataFrame的形式,那么将数据导出到Excel会非常简单。

import pandas as pd  
  
# 创建一个DataFrame  
data = {  
    'Name': ['John', 'Anna', 'Peter', 'Linda'],  
    'Age': [28, 34, 29, 32],  
    'City': ['New York', 'Paris', 'Berlin', 'London']  
}  
df = pd.DataFrame(data)  
  
# 将DataFrame导出到Excel文件  
df.to_excel("output.xlsx", index=False)  # index=False表示不导出行索引

在这个例子中,我们首先创建了一个包含人名、年龄和城市的DataFrame。然后,我们使用to_excel方法将其导出到名为output.xlsx的Excel文件中,并通过设置index=False来避免导出DataFrame的行索引。

pandas的to_excel方法非常强大,它支持多种自定义选项,比如指定工作表名称、设置列宽、应用样式等。你可以查阅pandas的官方文档来了解更多高级功能。


总结

对于简单的Excel文件生成任务,openpyxl提供了足够的灵活性。但如果你正在处理数据分析或数据清洗任务,并且数据已经是pandas DataFrame的形式,那么使用pandas的to_excel方法会更方便、更高效。


http://www.kler.cn/news/304251.html

相关文章:

  • Python 数学建模——假设检验
  • 学习之性能的理论知识一
  • 【中国国际航空-注册/登录安全分析报告】
  • Spring Cloud集成Eurake
  • 《PneumoLLM:利用大型语言模型的力量进行尘肺病诊断》|文献速递--基于深度学习的医学影像病灶分割
  • mysql笔记4(数据类型)
  • Nginx 实现会话保持的方式配置
  • echarts饼图让部分数据显示在图外,部分显示在图内
  • 数据结构应用实例(五)——关键路径
  • 学python要下什么包吗,有推荐的教程或者视频吗?
  • SprinBoot+Vue山西文旅网的设计与实现
  • 软件测试学习笔记丨Postman实战练习
  • 黑链、黑帽、明链分别是什么意思
  • JavaScript --函数作用域变量的使用规则(局部和访问)
  • 研究生深度学习入门的十天学习计划------第十天
  • LLM 工程师入门:生成式AI的简易指南
  • 【Vue】移动端访问Vue项目页面无数据,但是PC访问有数据
  • Linux定时启动jar应用shell脚本分享
  • 基于springboot的二手物品管理系统的设计与实现 (含源码+sql+视频导入教程)
  • C语言实现一个简单的点歌系统
  • XSS和sql注入部分场景测试用例样例
  • 将复杂类型列展开成多行,附带json解析
  • pandas 将多条记录整合成一条记录,每条记录的year和month字段组成新的字段名
  • MySQL从C盘迁移到D盘
  • Git的学习笔记
  • 服务器与个人计算机之间的区别
  • Java项目: 基于SpringBoot+mybatis+maven课程答疑系统(含源码+数据库+毕业论文)
  • 【Ubuntu】Ubuntu双网卡配置 实现内外网互不影响同时可用
  • KubeCon China 回顾|快手的 100% 资源利用率提升:从裸机迁移大规模 Redis 到 Kubernetes
  • 深度学习--对抗生成网络(GAN, Generative Adversarial Network)