利用Python处理Excel数据(个人平时用的时候总结的,以后发现新的方法会继续添加)

读取数据

import pandas as pd
import numpy as np
from pandas import Series, DataFrame

利用pandas模块,读取数据

df = pd.read_excel('x.xlsx')

查询该表所有sheet名

 df = pd.ExcelFile(namexls)
#sheet表名,列表
sheet_names= df.sheet_names
print(sheet_names)

显示数据的行与列数

df.shape

(2, 7)
有2行,7列数据

查看数据格式dtpyes

df.dtypes

显示列名

df.columns

df.columns 返回Index,可以通过 tolist(), 或者 list(array) 转换为list列名

显示数据唯一值(unique函数)

df['经纪人级别'].unique()

不读取哪里数据,可用skiprows=[i],跳过文件的第i行不读取

#没有读取经纪人编号为20124403的行
df = pd.read_excel('x.xlsx',skiprows=[2] ) 
df.head()

删除空值 (dropna函数)

df.dropna(how='any')

更改数据格式

df['大区'].astype('float64')

更改列名称

df.rename(columns={'IM渠道': '渠道'})

对数据进行排序

df.sort_values(by=['佣金'])

#总佣金逆序排序

df.sort_values(by=['佣金'],ascending=False)

#设置日期为索引

df=df.set_index('日期')

df.loc[[index],[colunm]] 通过标签选择数据
筛选主卡持卡人代码为num的数据并把相应的证件号码提取出来

zhengjian_num = df.loc[df['主卡持卡人代码'] == num,['证件号码']]

#级别为M4,发送消息数大于110,多个条件

df.loc[(df['经纪人当天发送消息数'] > 110) & (df['经纪人级别'] == 'M4'), 
        [证件号码','经纪人系统号']]

#将frame格式数据转换成array再转换成list格式

yonghu_name_numb = np.array(yonghu_name)  # np.ndarray()
yonghu_name_result = yonghu_name_numb.tolist()  # list

將list转换成frame

from pandas.core.frame import DataFrame
dict_1 = {
    "id":id_list,
    "姓名":name_list,
    '序列号':serial_num_list
}
frame_1 = DataFrame(dict_1)
print(frame_1)
frame_1.to_excel('./test.xlsx')

#删除excel某行

filename = './test.xls'
df = pd.read_excel(filename)

## 避免科学计数法造成的E+000
df['主持卡人代码'] = df['主持卡人代码'].astype('str')

df = df.drop(1)#删除第1行
df = df.drop(1, axis=0)#删除第1行,axis=0为行,axis=1为列
print(type(df))
df.to_excel('./test.xls',index=False)

pandas导入 excel表,出现openpyxl.utils.exceptions.IllegalCharacterError,
解决方法:

import xlsxwriter
df.to_excel('test.xlsx', engine='xlsxwriter')#加一个 engine='xlsxwriter'
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值