13. Pandas :使用 to_excel 方法写入 Excel文件

一 to_excel 方法的相关参数

用它来指定要将 DataFrame 写入哪些工作表的哪些单元格,以及是否需要包含列标题和 DataFrame 索引。如何处理特殊值(如 np.nan 和 np.inf)。

1.指定工作表和单元格

sheet_name:指定将 DataFrame 写入的工作表名称。若不存在,pandas 会创建一个新的工作表。

 sheet_name="MySheet",   # 写入的工作表名称

startrow 和 startcol:指定从哪个行和列开始写入数据。在工作表中指定一个特定的位置来放置数据。

startrow=2,             # 从第三行开始写入(索引从0开始)
startcol=1,             # 从第二列开始写入(索引从0开始)

2.是否包含列标题和索引

header:布尔值,指定是否写入列标题。默认是 True

index:布尔值,指定是否写入行索引。默认是 True

header=True,            # 包含列标题
index=False,            # 不包含行索引

3.处理特殊值

na_rep:指定如何将 NaN 值表示在 Excel 中。默认是空字符串 ""

inf_rep:指定如何将正无穷大(np.inf)和负无穷大(-np.inf)表示在 Excel 中。默认是 "inf" 和 "-inf"

na_rep="NA",            # 将 NaN 表示为 "NA"
inf_rep="Infinity"      # 将 inf 和 -inf 表示为 "Infinity"

4.示例代码1

import pandas as pd
import numpy as np
import datetime as dtdata=[[dt.datetime(2020,1,1, 10, 13), 2.222, 1, True],
[dt.datetime(2020,1,2), np.nan, 2, False],
[dt.datetime(2020,1,2), np.inf, 3, True]]df = pd.DataFrame(data=data,
columns=["Dates", "Floats", "Integers", "Booleans"])df.index.name="index"
print(df)df.to_excel("written_with_pandas.xlsx", 
sheet_name="Output",
startrow=1, 
startcol=1, 
index=True, 
header=True,
na_rep="<NA>", 
inf_rep="<INF>")

1.导入库 

import datetime as dt

datetime:用于处理日期和时间的库。

2.创建数据

data = [[dt.datetime(2020, 1, 1, 10, 13), 2.222, 1, True],[dt.datetime(2020, 1, 2), np.nan, 2, False],[dt.datetime(2020, 1, 2), np.inf, 3, True]
]

data 是一个列表,其中每个子列表代表 DataFrame 的一行。

每一行包含四个值:一个日期时间对象、一个浮点数、一个整数和一个布尔值。

第二行包含一个 NaN 值(np.nan),表示缺失数据。

第三行包含一个正无穷大值(np.inf)。

3.创建 DataFrame

df = pd.DataFrame(data=data, 
columns=["Dates", "Floats", "Integers", "Booleans"])df.index.name = "index"

4.写入 Excel 文件

df.to_excel("written_with_pandas.xlsx",sheet_name="Output",startrow=1,startcol=1,index=True,header=True,na_rep="<NA>",inf_rep="<INF>"
)

to_excel 方法用于将 DataFrame 写入 Excel 文件。

"written_with_pandas.xlsx":输出的 Excel 文件名。

sheet_name="Output":将数据写入名为 "Output" 的工作表。

startrow=1 和 startcol=1:数据将从 Excel 文件的第二行和第二列开始写入(索引从 0 开始)。

index=True:包括 DataFrame 的索引。

header=True:包括列标题。

na_rep="<NA>":将 NaN 值替换为 "<NA>"

inf_rep="<INF>":将 np.inf 和 -np.inf 替换为 "<INF>"

5.示例代码2

用 with

import pandas as pd
import numpy as np# 创建一个示例 DataFrame
data = {'A': [1, 2, np.nan, 4],'B': [np.inf, 5, 6, -np.inf],'C': [7, 8, 9, 10]
}
df = pd.DataFrame(data)# 将 DataFrame 写入 Excel 文件
with pd.ExcelWriter("output.xlsx") as writer:df.to_excel(writer,sheet_name="MySheet",   # 写入的工作表名称startrow=2,             # 从第三行开始写入(索引从0开始)startcol=1,             # 从第二列开始写入(索引从0开始)header=True,            # 包含列标题index=False,            # 不包含行索引na_rep="NA",            # 将 NaN 表示为 "NA"inf_rep="Infinity"      # 将 inf 和 -inf 表示为 "Infinity")


二 to_excel 方法和 ExcelClass 类

可以将多个 DataFrame 写入同一张或多张工作表。

分 3 次将同一个 DataFrame 写入工作表,前两次写入了工作表 1 的两个位置,第三次写入了工作表 2:

将 ExcelClass 用作了上下文管理器,因此当文件离开上下文管理器时(也就是离开由缩进定义的代码块时)会被自动写入磁盘。如果不像这样写的话,则必须显式地调用 writer.save() 。

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

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

相关文章

星越L_发动机舱开启及油液加注讲解

目录 1.拉手 2打开前机盖 3.冷却液加注口 4.玻璃水加注口 5.机油加注口 6.刹车油加注口 7.电瓶 1.拉手 中控台左下方有个拉手,拉动两次前机盖解锁。 2打开前机盖 向上抬打开前机盖。 3.冷却液加注口

基于Flink SQL的实时指标多维分析模型

数据流程介绍 1.创建源表kafka接入消息队列数据&#xff0c;定义字段映射规则&#xff1b; 2.创建目标表es_sink配置Elasticsearch输出&#xff1b; 3.通过多级视图&#xff08;tmp→tmp_dedup→tmp1/tmp2→tmp3→tmp_groupby&#xff09;实现数据清洗、去重、状态计算&#x…

专题|Python贝叶斯金融数据应用实例合集:随机波动率SV模型、逻辑回归、参数更新、绩效比较BEST分析亚马逊股票、普尔指数...

原文链接&#xff1a;https://tecdat.cn/?p41020 本专题合集系统梳理了贝叶斯方法在金融数据分析与分类建模中的前沿应用。合集聚焦于PyMC3概率编程框架&#xff0c;深度探讨了共轭先验参数更新、贝叶斯逻辑回归、贝叶斯夏普比率等核心算法在实际场景中的落地实践&#xff08;…

qwen2.5-vl使用vllm部署gradio页面调用

想在服务器上用vllm部署qwen2.5-vl, 然后使用gradio页面在本地调试&#xff0c;官方代码给了两条命令&#xff0c;列出的request body体结构&#xff0c; 不过要与gradio连用&#xff0c; 还需要重新组织代码。 官方服务代码如下&#xff1a; vllm serve Qwen/Qwen2.5-VL-7B-I…

论文笔记 - ULTRA-SPARSE MEMORY NETWORK

1、目前Transformer模型现状 dense模型相同激活参数下&#xff0c;性能远低于MOE模型&#xff0c;因此大家倾向于训练MOE模型虽然同激活参数下&#xff0c;MOE性能比dense好&#xff0c;但MOE模型内存访问高&#xff0c;因此推理速度相比dense要慢不少。比如top2的moe&#xf…

人工智能基础知识笔记四:聚类分析

1、什么是聚类分析&#xff1f; 聚类分析是一种将数据分组的技术&#xff0c;目的是让同一组内的数据点彼此相似&#xff0c;而不同组之间的数据点差异较大。你可以把它想象成整理一堆杂乱无章的物品&#xff0c;把相似的物品放在一起&#xff0c;比如把书放在一个书架&#x…

DeepSeek结合Mermaid绘图(流程图、时序图、类图、状态图、甘特图、饼图)转载

思维速览&#xff1a; 本文将详细介绍如何利用DeepSeek结合Mermaid语法绘制各类专业图表&#xff0c;帮助你提高工作效率和文档质量。 ▍DeepSeek入门使用请看&#xff1a;deepseek保姆级入门教程&#xff08;网页端使用 本地客户端部署 使用技巧&#xff09; DeepSeek官网…

麒麟v10 ARM64架构系统升级mysql数据库从mysql-5.7.27到mysql-8.4.4图文教程

1、背景与问题说明 因mysql-5.2.27版本存在安全漏洞问题&#xff0c;为保障系统安全&#xff0c;需将处于生产环境的麒麟v10 ARM64架构系统服务器上当前部署的mysql-5.7.27版本升级到mysql-8.4.4&#xff0c;以规避潜在风险&#xff0c;提升系统整体的安全性和稳定性。 1.1 本…

关于我和快速幂的事()

我之前只会这样的(dfs&#xff09;&#xff1a; 不懂下面这种写法的具体逻辑&#xff1a; 看完下面的推理&#xff0c;再转转我聪明的小老戴&#xff1a; 法一中&#xff1a;把2^11看成(2^5)^2 法二中&#xff1a;把2^11看成(2^2)^5

CSS3-流星雨

1. 绘制标签 <div class"container"><span></span> </div>2. 设置div背景 在百度上搜索一幅星空的图片 <style>* {/* 初始化 */margin: 0;padding: 0;}body {/* 高度100% */height: 100vh;/* 溢出隐藏 */overflow: hidden;}.contai…

P3390 【模板】矩阵快速幂

把 f&#xff08;ll k&#xff09; 写成 f&#xff08;int k&#xff09; 结果又是tle又是wa的。找了半天错误。 &#xff08;为了节省一点时间&#xff0c;因为函数不能return数组&#xff0c;还把数组改写到结构体里&#xff09; 我在想考试怎么办&#xff0c;考试不能看过…

STM32F407 cubeIDE Bootloader APP 如何写

一、bootloader 代码如下&#xff1a; #define FLASH_JUMP_ADDR (0x0800c000) /* USER CODE END PD *//* Private macro -------------------------------------------------------------*/ /* USER CODE BEGIN PM *//* USER CODE END PM *//* Private variables ----------…

[Space Shooter_1] Environment | CMake | SDL

环境&#xff1a; CCMakeSDLVS code图形化界面参考&#xff1a;itch.io csp vscode 控制面板 C代码生成流程 查找路径&#xff0c;来进行 cmake 链接 跨平台 cmake 一个库 如果已经有 cmake 来实现跨平台&#xff0c;链接 也可以不用这么麻烦了 set(CMAKE_RUNTIME_OUTPUT_DI…

PyTorch 入门学习

目录 PyTorch 定义 核心作用 应用场景 Pytorch 基本语法 1. 张量的创建 2. 张量的类型转换 3. 张量数值计算 4. 张量运算函数 5. 张量索引操作 6. 张量形状操作 7. 张量拼接操作 8. 自动微分模块 9. 案例-线性回归案例 PyTorch 定义 PyTorch 是一个基于 Python 深…

Shader中着色器的编译目标级别

1. # pragma target x.0 2. # pragma require xxx 支持的“#pragma target”名称 以下是支持的着色器模型列表&#xff0c;其中包含大致增加的功能集&#xff08;在某些情况下对于平台/GPU 的要求更高&#xff09;&#xff1a; #pragma target 2.0 适用于 Unity 支持的所有平…

【SpringBoot】实现登录功能

在上一篇博客中&#xff0c;我们讲解了注册页面的实现。在此基础上会跳转到登录页面&#xff0c;今天给大家带来的是使用 SpringBoot&#xff0c;MyBatis&#xff0c;Html&#xff0c;CSS&#xff0c;JavaScript&#xff0c;前后端交互实现一个登录功能。 目录 一、效果 二、…

【QT】事件系统入门——QEvent 基础与示例

一、事件介绍 事件是 应用程序内部或者外部产生的事情或者动作的统称 在 Qt 中使用一个对象来表示一个事件。所有的 Qt 事件均继承于抽象类 QEvent。事件是由系统或者 Qt 平台本身在不同的时刻发出的。当用户按下鼠标、敲下键盘&#xff0c;或者是窗口需要重新绘制的时候&…

蓝桥杯备赛-基础练习 day1

1、闰年判断 问题描述 给定一个年份&#xff0c;判断这一年是不是闰年。 当以下情况之一满足时&#xff0c;这一年是闰年:1.年份是4的倍数而不是100的倍数 2&#xff0e;年份是400的倍数。 其他的年份都不是闰年。 输入格式 输入包含一个…

【数据挖掘】知识蒸馏(Knowledge Distillation, KD)

1. 概念 知识蒸馏&#xff08;Knowledge Distillation, KD&#xff09;是一种模型压缩和知识迁移技术&#xff0c;旨在将大型复杂模型&#xff08;称为教师模型&#xff09;中的知识传递给一个较小的模型&#xff08;称为学生模型&#xff09;&#xff0c;以减少计算成本&…

HTMLCSS绘制三角形

1.代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>01triangle</title><s…