知识点:
pandas读取excel、一个工作簿中的不同sheet、一个sheet中的列,以及对数据的筛选删除操作。
数据类型转换:Serise转化成float
"""
表格数据处理:
把D级企业,负数发票,作废发票删除
"""
import pandas as pd
from pandas import DataFrame
#读取附件1,为方便操作把3个sheet分开 数据为DataFrame格式
#读取一个工作簿中的多个sheet
qiyexinxi = pd.read_excel('附件1:123家有信贷记录企业的相关数据.xlsx',sheet_name='企业信息')
jin = pd.read_excel('附件1:123家有信贷记录企业的相关数据.xlsx',sheet_name='进项发票信息')
xiao = pd.read_excel('附件1:123家有信贷记录企业的相关数据.xlsx',sheet_name='销项发票信息')
#信誉评级、企业代号为列索引,即表格第一行
dji = qiyexinxi[qiyexinxi['信誉评级'].isin(['D'])] # D级企业 Serise类型
dji_daihao = dji['企业代号'] # D级企业代号
# print(dji_daihao)
qiyexinxi=qiyexinxi[~qiyexinxi['信誉评级'].isin(['D'])] # 排除了D级的企业信息 ~表示非
# print(qiyexinxi)
jin = jin[~jin['发票状态'].isin(['作废发票'])] # 去掉作废发票
jin = jin[~jin['企业代号'].isin(dji_daihao)] # 去掉D级代号的企业 ★★★
jin['金额'].astype(float) # 将Serise转化成float类型,貌似只能用astype进行数据类型转换,转换成float类型,才能
jin = jin[~(jin['金额']<0)]#将金额 <0 的发票删掉
xiao = xiao[xiao['发票状态'].isin(['有效发票'])] # 筛选有效发票
xiao = xiao[~xiao['企业代号'].isin(dji_daihao)]# 去掉D级代号的企业★★★
xiao['金额'].astype(float) # 将serise转化成float类型
xiao = xiao[~(xiao['金额']<0)]#再将金额 <0 的发票删掉
# 若不去除D级企业,把★★★处代码注释掉即可
# 保存到新的表格
qiyexinxi.to_excel("附件1企业信息修改版.xlsx")
jin.to_excel("附件1进项发票信息修改版.xlsx")
xiao.to_excel("附件1销项发票信息修改版.xlsx")