使用Python快速处理Excel操作笔记三:基本操作增删改查、排序
1、读取excel表格并增加行
index_info = ['姓名', '年龄', '居住地', '薪资']
df = pd.read_excel(filename)
ser_data = pd.Series(['夏利', 27, '河北', 20000], index=index_info)
all_info = df.append(ser_data, ignore_index=True)
pandas读取excel生成的df是DataFrame,而DataFrame是一个个的Series组成的
**注意 :**Series中的参数index要跟读取的DataFrame的columns是一样的
使用append追加到了末尾行,ignore_index是让DataFrame自动生成行索引
2、添加列
all_info['身份'] = ‘忍者’
会在最后一列增加 身份一列,然后赋值都是 忍者
赋值不一样的话可以使用Series
all_info['性别'] = pd.Series(['男', '男', '女', '男'])
注意:对某个列名对应的列Series赋值,当列名不存在的时候,则会新建对应的列,当列名存在时,则会修改原始的值
3、删除行或列
使用drop方法进行删除一列或者一行
all_info.drop(labels='居住地', axis=1, inplace=True)
labels是要删除的列名
axis如果赋值是1 则代表删除的是列,如果是0则删除的是行
inplace=True 删除直接在all_info中生效
all_info.drop(labels=2, axis=0, inplace=True)
labels是要删除的行的index
axis 赋值为0删除的是行
4、查看和修改
上面的内容是以Series进行的增加或者修改,如果只是需要对某一个单元格的内容进行处理,用上面的方法会是比较麻烦
下面会有对于单个单元格的查看和修改,使用DataFrame的loc属性
查看
all_info.loc[1, '姓名']
输出的就是行索引为1, 列索引是 姓名的 信息
修改
all_info.loc[3, '性别'] = ‘女’
5、排序
DataFrame提供了sort_values方法进行排序
all_info.sort_values(by='年龄', inplace=True)
by参数代表是按照 年龄这个列索引来排序
inplace同上面一样的功能
sort_values默认是从低到高进行排序,如果需要降序增加函数ascending设置为False
6、取前后的表格
如果使用前2个数据则使用
all_info.head(2)
使用后2个数据则使用
all_info.tail(2)
7、获取DataFrame的行数和列数
DataFrame的shape属性返回行数和列数的信息
shape = all_info.shape
返回的shape属于一个元组,第一个是行数,第二个是列数