Pandas在Excel的几个sheet中读写数据的方法

pandas使用ExcelWriter操作excel-保持原有excel表格sheet页不变动 1、直接使用df的to_excel()方法直接保存 2、使用ExcelWriter对象调用to_excel()方法进行保存 3、使用ExcelWriter 和openpyxl库进行excel操作 说明:1和2方法在进行保存前会情况excel的sheet页,及进行to_excel()时先清空表格的sheet页。2可以有多个sheet页 3会在原有excel的sheet页后添加sheet页,不清空原有sheet页。 下面用例子说明: 1、import pandas as pd df = pd.Da 阅读详情

Pandas在Excel的几个sheet中读写数据的方法

一)Pandas不覆盖现有sheet在Excel中写入数据

在平常把pandas写入Excel的时候,用到的是 df.to_excel('文件名.xlsx', sheet_name='sheet1'语句,示例如下:

A = np.array([[1,2,3],[4,5,6]])
df = pd.DataFrame(A)
df.to_excel('test_excel.xlsx',sheet_name='A')

只需要三行语句就可以搞定

但是,如果需要把两个DataFrame数据写入Excel文件中的不同sheet中,使用这种方法就有问题了:

A = np.array([[1,2,3],[4,5,6]])
B = np.array([[10, 20, 30], [40, 50, 60]])

df1 = pd.DataFrame(A)
df2 = pd.DataFrame(B)
df1.to_excel('test_excel.xlsx',sheet_name='AAA')
df2.to_excel('test_excel.xlsx',sheet_name='BBB')

执行以上程序之后,打开 “test_excel.xlsx” ,可以看到表格中只有名字为“BBB”的sheet保存下来了,而名字为“AAA”的sheet被覆盖掉了。

在这里插入图片描述

其实被覆盖的原因很好理解,程序在执行第二条写入语句的时候,默认以前的数据是没有用的,先清空这个Excel文件里的数据。

解决方法:

利用Pandas包中的ExcelWriter()方法增加一个公共句柄,在写入新的数据之时保留原来写入的数据,等到把所有的数据都写进去之后关闭这个句柄。示例如下:

writer = pd.ExcelWriter('test_excel.xlsx')
A = np.array([[1,2,3],[4,5,6]])
B = np.array([[10, 20, 30], [40, 50, 60]])

df1 = pd.DataFrame(A)
df2 = pd.DataFrame(B)
df1.to_excel(writer,sheet_name='AAA')
df2.to_excel(writer,sheet_name='BBB')
writer.close()

这样,两个sheet就都写入这个Excel中了:
在这里插入图片描述

最后,需要注意的是,很多博客给的示例是利用ExcelFile()方法新建句柄,可能以前的版本里可以,目前的版本使用这个函数程序执行类似操作是会报错的。具体原因以及两个函数用法的异同留待以后分析。

二)Pandas读取Excel的不同sheet中的数据

在读取有多个sheet的Excel时,如果不指定sheet名字,那么read_excel 函数默认读取第一个sheet中的数据。例如,我们使用一)中生成的“test_excel.xlsx”表格来进行测试

d1 = pd.read_excel('test_excel.xlsx')  #默认属性下读取
print("d1:\n",d1)
d2 = pd.read_excel('test_excel.xlsx',sheet_name = 'AAA')  #指定sheet名读取
print("dd1:\n",d2)
d3 = pd.read_excel('test_excel.xlsx',sheet_name = 'BBB')  #指定sheet名读取
print("d3:\n",d3)

显示结果如下:

d1:
    0  1  2
0  1  2  3
1  4  5  6

d2:
    0  1  2
0  1  2  3
1  4  5  6
d3:
  0   1   2
0  10  20  30
1  40  50  60

那么,如果我们想一条代码读取excel中的所有值时,可以将“sheet_name”属性指定为None,这样会得到一个字典变量,字典的key就是sheet名,value就是对应sheet里的数据。

例如以下代码:

    dd1 = pd.read_excel('test_excel.xlsx')
    print("dd1:\n",dd1)
    dd2 = pd.read_excel('test_excel.xlsx',None)
    print("dd2:\n",dd2)

效果如下:

dd1:
    0  1  2
0  1  2  3
1  4  5  6

dd2:
 OrderedDict([('AAA',    0  1  2
0  1  2  3
1  4  5  6), ('BBB',     0   1   2
0  10  20  30
1  40  50  60)])
pandas to_excel:写入数据,在同一个sheet中追加数据,写入到多个sheet里 pandas to_excel:写入数据,写入到多个sheet里,在同一个sheet中追加数据 一、写入数据 了解下to_excel 的其他参数,写入操作非常简单 df.to_excel('aa.xlsx') 二、写入到多个sheet中 这个就和之前写过的“解决pandas中to_excel 数据覆盖sheet表问题”是差不多的,如果要实现同时写多个sheet的话,加一个循环或者判断就好。现在下面给“解决pandas中to_excel 数据覆盖sheet表问题”的代码。可以针对sheet_name做修改或 阅读详情

相关推荐

pandas 读取excel、一次性写入多个sheet、原有文件追加sheet

pandas 的DataFrame 数据结构与excel中的数据形式极为相似,因此对于excel数据的读取和输出使用pandas再适合不过了,因此就涉及到了pandas对于excel文件的读取、写入一个sheet、写入多个sheet、追加sheet等操作。

飞羽的博客 5万+

pandas读取写入Excel文件中的多个sheet

读取Excel中不同sheet数据 设置sheet_name=None,会得到一个字典变量,字典的key就是sheet名,value就是对应sheet里的数据 import pandas as pd df = pd.read_excel("test.xlsx",sheet_name=None) 不同sheet写入到同一个Excel文件中 利用Pandas包中的ExcelWriter()方法增加一个公共句柄 import pandas as pd writer = pd.ExcelWriter('tes

luckywalking的博客 2万+

【数据处理】pandas DataFrame 对多个sheet表格的excel 读取、处理、保存

今天一个不太懂编程的朋友让我帮他处理一些excel的表格,要求大概是:有20多个excel表,每个表里有42个sheet表格(sheet数量和名字相同)。最终需要根据对应的sheet名称将所有表格拼接成一个。 为了方式朋友数据泄露,我模拟了一下文件内容,大概如下。不同的excel文件,每个文件中相同的sheet名称。 他用VBA一时间没有写出来,请我看看能不能用python实现。 我大概搜索了...

scxyz的博客 7万+

[Python] Pandas读写Excel,读取单个、多个或全部表

Python 读写 Excel 可以使用 Pandas,处理很方便。但如果要处理 Excel 的格式,还是需要 openpyxl 模块,我个人不喜欢旧的 xlrd 和 xlwt 模块。步入正题。Pandas 读写 Excel 主要用到两个函数,下面分析一下 pandas.read_excel() 和 DataFrame.to_excel() 的参数,以便日后使用。 1. pandas.read_excel pandas.read_excel(io,sheet_name=0,header=0,names=No

Spade_的博客 2万+

用Python批量实现多Excel多Sheet合并,学会这4步就够了

一、前言 Python自动化文章后续,有比较的读者面临这个问题,有很多个Excel表格,他需要对这些Excel文件进行合并。 诚然,一个一个打开复制粘贴固然可行,但是该方法费时费力,还容易出错,几个文件还可以手动处理,要是几十个甚至上百个,就有点费事费力了。本文我们用Python来实现一下,轻松提升工作效率。 二、项目目标 用Python实现多Excel、多Sheet的合并处理。 三、项目准备 软件:PyCharm 需要的库:pandas, xlrd,os 四、项目分析 1)如何.

熬夜学习猿的博客 1万+

Python-Pandas进行批量Excel文件、多Sheet表合并

本文汇总日常工作中对批量Excel数据的合并方法,主要使用Python-Pandas库相关方法。具体包括多个excel表格合并到一个excel、多个excel表格合并到一个excel中的不同sheet与一个excel表格中的多个sheet合并到至一个。

FGH333xwy的博客 4905

Python数据分析:pandas之Excel详解

pandas操作excel详解

人不风流枉少年 1万+

使用Python和pandas库可以轻松地读取和处理Excel文件的数据

使用Python和pandas库可以轻松地读取和处理Excel文件的数据。本文将指导您如何使用pandas读取两个或多个Excel文件,并将它们的信息进行连接和合并。

CodeByte的博客 305

解决Pandas的to_excel()写入不同Sheet,而不会被重写

  在使用Pandas的to_excel()方法写入数据时,当我们想将多个数据写入一个Excel表的不同DataFrame中,虽然能够指定sheet_name参数,但是会重写整个Excel之后才会存储。 import pandas as pd   现在我有三个DataFrame,分别是大众某车型的配置、外观和内饰数据。现在我想要将这三个DF存入一张表的不用sheet中 >>> ...

初一的博客 4万+

[python]问题:pandas处理excel里的多个sheet

[python]问题:pandas处理excel里的多个sheet

天赐好车的博客 1584

是德频谱分析仪相位噪声测量实战指南:从原理到精准操作

本文详细介绍了是德频谱分析仪在相位噪声测量中的实战操作指南,从基础概念到高级技巧全面解析。通过5G基站时钟测量等实际案例,展示如何利用是德N9030B等设备精准测量相位噪声,并分享设备预热、参数设置、环境干扰排除等关键操作要点,帮助工程师提升测量精度和效率。

jenkins8butler的博客 229

pandas读写Excel详解

Excel在数据的处理中十分重要,本文详细介绍pandas的Excel读取和写入方法。其中,读取方法包括ExcelFile类和read_excel()方法,分析了其读取的不同方式。写入方法介绍了ExcelWriter和to_excel()方法,并详细讲解了①已有Excel增加sheet②覆盖Excel中已有sheet③已有sheet中追加数据等多种场景

weixin_43092663的博客 2万+

YOLO十年演进:从CNN到Transformer再到MoE,我看懂了2026年目标检测的落地风向标

技术永远是为业务服务的,能解决真实问题的技术,才是有价值的。YOLO的十年演进,从CNN到Transformer再到MoE,从来都不是学术上的炫技,而是一步一步解决工业落地的痛点:从让实时检测成为可能,到解决复杂场景的漏检误检,再到打破精度和算力的死局,每一步都踩在了工业落地的真实需求上。很多新入行的朋友,总喜欢追新,今天换Transformer,明天堆MoE,觉得模型越新、参数越大,就越厉害。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 748

pandas追加sheet到已有sheet的excel文件会覆盖的问题

一、创建数据 import pandas as pd import numpy as np data1 = pd.DataFrame(np.arange(12).reshape((3, 4))) print(data1) data1.to_excel('123.xlsx', sheet_name='123') 输出: 0 1 2 3 0 0 1 2 3 1 4 5...

胖虎卖汤圆的博客 1万+

《QGIS快速入门与应用基础》239:指北针样式选择(预设/自定义)

系统解析指北针设计的核心规范与实操方法。文章首先强调行业规范红线,包括强制要求N字标注、箭头辨识度等关键要素,通过正误示例对比强化合规意识。其次详细讲解QGIS内置预设样式的分类应用,提供极简箭头、标准三角箭头等4类样式的选型对照表,并配图说明适用场景。最后介绍从基础微调到SVG导入的进阶自定义方法,帮助用户实现从合规到专业的样式设计。全文贯穿"合规优先、可读为本、美观为辅"原则,配有详细操作截图与规范对照表,适合从GIS新手到专业制图人员参考。

LuckyHanMo的博客 530

OAuth2.0集成SpringSecurity加JWT实现单点登录

单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统。也就是说只要登录一次单体系统就可以

Nicky's blog 9038

真正解决Pandas写入excel的多sheet问题

** 真正解决Pandas写入excel的多sheet问题 ** 遇到需要利用pandas的to_excel()在同一个Excel文件中,循环在不同的sheet中写入数据,但查阅大量资料,基本都无法利用for循环,在“sheet1、sheet2、sheet3、。。。。。”中写入,后终于发现是程序语言的顺序问题,具体如下: 网上主流的方法——虽然没错,但很笨 writer=pd.ExcelWriter(‘filename.xlsx’) df1.to_excel(writer,sheet_name=‘第一表’,

jesonwz的博客 6753

流体动力学仿真软件:Star-CCM+_(19).软件定制与脚本编写

自定义插件开发可以扩展Star-CCM+的功能,实现特定的仿真需求。插件开发通常需要使用Java语言,并且需要对Star-CCM+的API有深入的了解。以下是一个简单的Java插件示例,展示如何创建一个自定义插件来显示仿真项目的信息。// 导入必要的Star-CCM+ API import star . ccm . product . CCMProject;// 自定义插件类 public class CustomPlugin {// 插件主方法 public void run() {

kkchenjj的博客 938

python/pandas 读取Excel不同sheet的数据(或名称)

场景:nickname.xlsx有两个sheet, sheet名称分别是:基本信息,用户昵称 如图: 现在想读取两个sheet的数据: 1.读取两个sheet名称: sheet=pd.read_excel(’/Users/liweijing/Desktop/处理结果/nickname.xlsx’,sheet_name=None) print(list(sheet.keys())) for j in sheet.keys(): print(j) 执行结果如图: 2.读取两个sheet内容: sheet=

qq_41810188的博客 7万+

独立游戏之路:Tap篇 -- 个人开发者上架TapTap步骤和注意事项

作为一名游戏开发者,将自己的独立游戏上架到 TapTap 平台是一个不错的选择。TapTap 是一个拥有大量用户的游戏社区平台,上架游戏可以让更多的玩家发现和体验你的游戏。TapTap 是一个游戏社区平台,用户可以在平台上下载和分享游戏。TapTap 拥有大量的用户,并且用户活跃度高,这为独立游戏开发者提供了一个很好的展示和推广平台。进入TapTap开发者服务后台。

陈言必行 -- Unity游戏开发领域优质博主 6416

【工程师一次性讲明白系列】什么是电压驻波比 (VSWR)

电压驻波比(VSWR)是电信号传输过程中非常重要的指标,控制VSWR的大小可以提高信号传输效率和系统稳定性。通过优化阻抗匹配,可以有效地减少反射信号,提升通信质量!🚀📡。

weixin_43199439的博客 1300

pandas如何获取Excel文件下所有的sheet名称

一、概述 默认pandas读取excel,只会读取第一个Sheet import pandas as pd # 读取excel df1 = pd.read_excel('456.xlsx') print(list(df)) 那么如何读取所有的Sheet呢? 二、解决方法 方法1 一定要加sheet_name=None,才能读取出所有的sheet,否则默认读取第一个sheet,且获取...

shykevin的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

pandas 不覆盖写入 excel 同一张 Sheet 表

之前写的太草率了,这里解决的问题是: 用 Pandas 可以不覆盖的写入同一张 Sheet 表, 当然写入不同的表也可以实现, 在 stackoverflow 上看到的代码, 我试了试可以,感谢 stackoverflow 的 MaxU 这里在 jupyter notebook 中实现 我自己写了测试代码,在下面, 第一个部分的代码就是这个 append_df_to_excel...

sdaujz的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

高效的利用pandas读取多个sheet的excel文件

如何更快更高效的利用pandas读取多个sheet的excel文件? 我们知道pandas的读取excel文件的常规方式是pd.read_excel(file, sheetname),我想很多人都是用这种常规的方式进行读取。 其实,sheetname是可以是数字的,代表每一个sheet的排序编号。 我们用python运行效率分析工具来看一下不同的模式下,他们的执行速度分别是怎么样的? ...

百雨的博客 3万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

pandas追加写入excel_pandas写入sheet而不覆盖原有sheet

python 解决使用pandas df.to_excel()删除原有sheet一、问题引入你在使用pandas的 df.to_excel(file_path)想要对一个有多张sheet的workbook操作时一定会尴尬的发现:永远只存在最后一次写进去的表,其他的都被清空了。二、解决办法1.使用pandas 1import pandas as pd 2import openpyxl 3imp...

weixin_39715538的博客 3728
上一篇: python太调皮【3】——python传递容器类参数的注意事项
下一篇: 用python手刃Leetcode(2):两数相加
东写西读李老湿
东写西读李老湿 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄13年 481粉丝 73原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值