我们在日常工作中,经常会碰到处理Excel表中数据的情况,例如学校的教师需要统计学生的成绩或者学生信息的管理。如果使用人工的方式进行修改,数据量很大的时候处理起来速度会很慢,还容易出现错行等错误。此时,如果我们使用pandas进行数据的处理,速度会很快且不易出错。
接下来就以一个简单的例子来说明。
需求
学校教师手中有两张学生表,但是只有一张表中有学生的电话信息(图中手机号为随机生成的)
需要将此表中的电话信息填入另一个表中。
从图中可以看到,两张表的结构完全不同,学生姓名的排列顺序也不同。
如果采用人工录入的方式,只能一条一条复制粘贴,效率非常低。
此时我们可以使用pandas进行数据处理,将表1中的手机号数据填入表2中的指定位置中。
思路
解决这个需求的思路其实很简单:
- 分别提取两张表中我们需要使用到的字段
- 建立两张表的连接,获得准备填入的数据
- 将数据填入表2的指定位置
代码
import pandas as pd
- 读两张表的数据,进行预处理
data1 = pd.read_excel('./1-name-phone-number.xlsx', header=None)
# 自定义函数,格式化处理姓名中可能出现的特殊字符
def func(