不知道大家有没有过相同的经历,就是我们向Excel
表格中添加新数据的时候,经常会导致原先拥有的数据被覆盖掉了,那么如何解决这个问题呢,这里给出一种可行的方法。阅读此篇的基础是先理解pandas DataFrame拼接。(超链接点击跳转)
比如我们有一个Excel数据,其中有数据如下图所示:
然后我们想向其中加入一组新的数据,比如:leben (v) 生活
。那么该如何实现呢?请看如下代码:
# -*- coding:utf-8 -*-
import pandas as pd
df = pd.read_excel(r"C:/Users/15025/Desktop/debug1.xlsx")
word = "leben"
character = "(v)"
meaning = "生活"
dataframe = pd.DataFrame([[word, character, meaning]], columns=["word", "character", "meaning"])
df_new = df.append(dataframe, ignore_index=True)
df_new.to_excel(r"C:/Users/15025/Desktop/debug1.xlsx", sheet_name="Sheet2", index=False, engine="openpyxl")
小提示:当我们从Excel
表格中读取数据时,数据本身已经以DataFrame
的格式被存储了。
最终结果如下:
至此,我们成功地向已经拥有数据的Excel
表格中插入了我们想要的数据。
相关参数解释:
sheet_name="Sheet2"
:表示我们将要把数据写入到Excel
表格中的哪一页当中。
index=False
:表示我们在写入数据到Excel
表格中时左侧的index
不显示出来。
engine="openpyxl"
:可选择参数,表示我们写入Excel
数据中所使用的引擎。
注意
有些小伙伴运行上述程序可能会报错,这是因为 pandas
库升级了,作者为了让大家区分 pandas.append()
和 Python
自带的 list
的 append()
方法,他删除了原来的 append(
) 方法,现在可以暂时用 _append()
方法平替。只需要将上述代码中的 append()
换位 _append()
即可。感谢评论区小伙伴的提醒。
如果大家觉得有用,就请点个赞吧~