首页 > 其他分享 >向已有的excel表中追加数据存储(表头一致)

向已有的excel表中追加数据存储(表头一致)

时间:2024-06-22 13:54:16浏览次数:18  
标签:sheet 数据 excel Excel 表头 pd 表中 new data

在使用Pandas处理Excel文件时,如果需要在已有的Excel文件中向下添加新数据,可以使用 openpyxl 作为引擎来实现这一功能。下面是具体的步骤和代码示例:

  1. 读取已有的Excel文件:使用 pd.read_excel 读取已有的Excel文件和数据。
  2. 准备新数据:将新数据整理为DataFrame。
  3. 将新数据追加到已有的数据中:通过 pd.concat 将新数据和已有的数据进行合并。
  4. 将合并后的数据写回到Excel文件中:使用 pd.ExcelWriteropenpyxl 引擎将数据写回到Excel文件中。
import pandas as pd
from openpyxl import load_workbook

# 读取已有的Excel文件
file_path = 'existing_file.xlsx'
existing_data = pd.read_excel(file_path, sheet_name='Sheet1')

# 新的数据
new_data = {
    'Column1': [value1, value2, value3],
    'Column2': [value4, value5, value6],
    # 添加更多列和数据
}

new_df = pd.DataFrame(new_data)

# 将新数据追加到已有的数据中
combined_data = pd.concat([existing_data, new_df], ignore_index=True)
# combined_data.index = ...

# 将合并后的数据写回到Excel文件中
with pd.ExcelWriter(file_path, engine='openpyxl', mode='a', if_sheet_exists='overlay') as writer:
    combined_data.to_excel(writer, sheet_name='Sheet1', index=False)

print("Data has been appended successfully.")

代码解读:

读取已有的Excel文件

existing_data = pd.read_excel(file_path, sheet_name='Sheet1')

这一步读取了名为 existing_file.xlsx 的Excel文件中的 Sheet1 表,并将其存储在 existing_data DataFrame 中。

准备新数据

new_data = {
    'Column1': [value1, value2, value3],
    'Column2': [value4, value5, value6],
    # 添加更多列和数据
}
new_df = pd.DataFrame(new_data)

将新数据组织成字典形式,并转换为DataFrame。

合并数据

combined_data = pd.concat([existing_data, new_df], ignore_index=True)

使用 pd.concat 将新数据和已有数据进行合并。ignore_index=True 参数确保索引被重置。

写回Excel文件

with pd.ExcelWriter(file_path, engine='openpyxl', mode='a', if_sheet_exists='overlay') as writer:
    combined_data.to_excel(writer, sheet_name='Sheet1', index=False)

使用 pd.ExcelWriter 将合并后的数据写回原Excel文件中。engine='openpyxl' 指定了使用openpyxl引擎,mode='a' 表示追加模式,if_sheet_exists='overlay' 表示如果工作表存在则覆盖写入。

官方链接:

https://pandas.pydata.org/docs/reference/api/pandas.ExcelWriter.html

mode, default ‘w’

File mode to use (write or append). Append does not work with fsspec URLs.

if_sheet_exists, default ‘error’

How to behave when trying to write to a sheet that already exists (append mode only).

  • error: raise a ValueError.
  • new: Create a new sheet, with a name determined by the engine.
  • replace: Delete the contents of the sheet before writing to it.
  • overlay: Write contents to the existing sheet without first removing, but possibly over top of, the existing contents.

标签:sheet,数据,excel,Excel,表头,pd,表中,new,data
From: https://www.cnblogs.com/fancyu/p/18262206

相关文章

  • excel电子表格双表多列修改,点击式。
        excel的xlookup确实非常简单,有部分功能也非常快。但是有的人不会公式,或者不喜欢用公式,或者没有excel2021以上的版本。而且xlookup确实也有些还不是很完美的地方,比如对多列关联查询很慢。所以我们还是有必要增加类似的办法,hpctb提供了“双表多列修改”,我们来看一看。......
  • 如何给excel文件批量加密?给excel文件批量加密的四个方法
    在Excel当中我们如何对表格文档进行加密,其实在Excel表格当中对文档加密的方式一共有两种,一种是密码加密;另一种是账号加密。那么今天我们就先来讲讲密码加密是怎么一回事儿,之后再给大家讲解一下账号加密的操作方式。对于密码加密,在平时的Excel办公当中,我们的文档不想让别人查看......
  • Python批量保存Excel文件中的图表为图片
    Excel工作簿作为一款功能强大的数据处理与分析工具,被广泛应用于各种领域,不仅能够方便地组织和计算数据,还支持用户创建丰富多彩的图表,直观展示数据背后的洞察与趋势。然而,在报告编制、网页内容制作或分享数据分析成果时,直接嵌入整个Excel文件往往不够便捷,且可能受限于接收者......
  • python读取excel文件
    在Python中,可以使用pandas库来读取Excel文件。首先,确保安装了pandas和openpyxl(用于处理Excel文件的库):pipinstallpandasopenpyxl以下是使用pandas读取Excel文件的示例代码:importpandasaspd#读取Excel文件df=pd.read_excel('example.xlsx')#显示数据框内容p......
  • Excel日期函数
    Excel提供了丰富的日期和时间函数,可以满足各种日期相关的需求。以下是一些常用的Excel日期和时间函数:获取当天日期:TODAY()函数返回当前日期获取日期时间:NOW()函数返回当前日期和时间计算日期差:DATEDIF(start_date,end_date,unit)函数计算两个日期之间......
  • 重磅!2024年最新影响因子正式发布,附Excel下载
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。激动人心的时刻终于来了,2024年影响因子已全面发布!废话不多说,大家一起来看看最新的发布的结果吧!神刊:CA-ACANCERJOURNALFORCLINICIANS毫无疑问,最高分必然是它,今年公布最新影响因子为503.1。四大医学期刊NEJM、T......
  • Springboot+Vue+Mybatis-Plus+Easyexcel实现文件导入+导出的excel单元格下拉列表
    引言文件的导入与导出功能扮演着至关重要的角色,特别是在处理大量数据和复杂的表格时。通过整合SpringBoot、Vue、Mybatis-Plus和Easyexcel等先进技术,我们可以构建一个高效、灵活的文件处理系统。其中,Excel作为广泛使用的电子表格软件,其单元格下拉列表功能对于数据录入和校验......
  • Ant-Design-Vue动态表头并填充数据(含示例代码)
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;推荐专栏《10天学会使用asp.net编程AI大模型》,目前已完成所有内容。一顿烧烤不到的费用,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。干货满满。学成后可......
  • 算法题---判断链表中是否有环,并找出环的入口
    方案一、利用Set集合不会重复的原理booleanjudgeCycle(Nodehead){Set<Node>visited=newHashSet<>();Nodenode=head;while(node!=null){if(visited.contains(node))returntrue;visi......
  • Excel 2003编辑和保存.bdf文件
    Excel2003可以直接编辑和保存.dbf文件。从Excel2007之后没有了这个功能,所以请认准office2003/excel2003,可以用来编辑arcgisshapefile的dbf文件。 ————————————————还可以参考下面文章链接:https://blog.csdn.net/skytruine/article/details/80493585......