准备工具

Python,pandas,office

这次我们就说一个函数 df.append()

其实append()函数功能很强大。我们看一下append()函数的语法结构。

python Panda excel 追加一行 pandas向excel追加数据_嵌套

df.append(other, ignore_index=False,verify_integrity=False, sort=False)

简单的说一下里面的意思:

  • other 是它要追加的其他 DataFrame 或者类似序列内容
  • ignore_index 如果为 True 则重新进行自然索引
  • verify_integrity 如果为 True 则遇到重复索引内容时报错
  • sort 是否排序

好了我们介绍一下我们的数据源

python Panda excel 追加一行 pandas向excel追加数据_数据_02

python Panda excel 追加一行 pandas向excel追加数据_python_03

首先我们说一下append()这个函数的特点,这个函数的特点是返回一个新的对象,他不会在原对象上进行操作,这点还是跟一些函数有区别的。我会用一个实际的例子演示。

从下面的例子里面可以显然的看出data1,没有被改变。

python Panda excel 追加一行 pandas向excel追加数据_python_04


好了。我们直接呼应我们的主题,追加新的数据。然后再慢慢的介绍函数的特性。

  • 因为append()函数只 支持追加Series 或 DataFrame或者对应字典。
  • DataFrame就不多说了。表与表的拼接
  • Series其实跟DataFrame没太大区别,不过还是要演示一下。
s1 = pd.Series(['A-11月6日', 'B-11月6日', 'C-11月6日', 'D-11月6日'],
              index=['A', 'B', 'C', 'D'])
   #创建一个Series

python Panda excel 追加一行 pandas向excel追加数据_嵌套_05


模样如上图所示:

然后向data1中追加数据

data1.append(s1,ignore_index=True)
#注意我们这里是需要对ignore_index进行声明的。
#因为加入的Series其实是一行数据,需要对索引进行排列,不然它不知道放在哪里。
#不知道我这个解是对不对,不对的话,请大佬留言,我会学习改正。

python Panda excel 追加一行 pandas向excel追加数据_excel_06


这样我们就成功的添加上了数据。

  • 第三个字典,也是我们日常处理数据中,最最最经常用到的追加数据的数据结构。这里我们着重的说一下。
    *创建一个字典,字典的格式要与data1中的格式呼应。
    kay对应的列表名字。value对应的就是你想要追加的内容。直接上代码。
dicts = [{'A': '11月1日', 'B': '11月2日', 'C': '11月3日', 'D': '11月4日'},
        {'A': '11月5日', 'B': '11月6日', 'C': '11月7日', 'D': '11月8日'}]
   # 注意这个字典的格式是,列表嵌套字典,最外层为一个列表,内层元素是字典
data1.append(dicts, ignore_index=True)

这样我们用字典中的数据 对data1进行追加。效果如下

python Panda excel 追加一行 pandas向excel追加数据_python_07


我们可以看到,直接对每一列数据进行了追加,不过大家要记住的一点是,append()函数后是一个新的对象,我们需要用新的变量去接收这个函数。这个append()操作不会对原有的数据进行任何改变。

  • 追加内容,字典格式的拓展。
    我们可以看到上面的追加格式。是kay:value,形式出现,Kay都是与列名对应的。我们如果创建一个不存在的kay,对不存在的kay,加上value的话会怎样呢。我演示给大家看,

python Panda excel 追加一行 pandas向excel追加数据_数据_08

哈哈,我们直接得到了一个新列。X列。 而且严格的与新添加的数据对齐了。

dicts = [{'A': '11月1日', 'B': '11月2日', 'C': '11月3日', 'D': '11月4日','X': '新增X列第一行'}, 
        {'A': '11月5日', 'B': '11月6日', 'C': '11月7日', 'D': '11月8日','X': '新增X列第二行'}] #增加了新Kay,X
   # 注意这个字典的格式是,列表嵌套字典,最外层为一个列表,内层元素是字典
data1.append(dicts, ignore_index=True)

善用这些技巧能让大家完全的再日常办公中,让报表完全自动化起来。
希望大家疫情之后,升职加薪,财富自由