'''
@author:姜广明
@@data:2021年1月25日
导入财务数据,按月统计收款金额,按发票抬头统计收款金额。
需要先对‘收款金额’列的空值,进行填充‘发票金额’。
'''
"需要导入pandas模块,导入numpy模块"
"需要导入导入xlrd模块,导入xlwt模块"
"导入openpywt模块"
import pandas as pd
import numpy as np
from openpyxl import load_workbook #等xlrd和xlwt模块失效后在使用openpyxl模块重新编程
charge = pd.read_excel('chargeSKDJApplyExport.xls', skiprows=1)
# registration = pd.read_excel('d:/Python Temp/chargeSKDJApplyExport.xls', skiprows=1, usecols='A,C,F,G,H,I,R,T,U')
'''A="收款单号", B="登记部门", C="核算项目", D="登记人", E="登记时间", F="审批状态",
G="合同编号", H="委托单位", I="收款金额", J="发票金额", K="撤回原因", L="发票抬头",
M="开票项目", N="纳税人识别号", O="地址、电话", P="开户行及账号", Q="开票状态", R="发票类别", S="开票备注"
'''
'----------------------------------------'
charge =pd.DataFrame(charge)
charge['登记时间'] = pd.DatetimeIndex(charge['登记时间']) #将“登记时间”设为日期索引格式
charge.sort_values(by='登记时间', inplace=True) #按照索引重新排序
charge = charge.set_index('登记时间') #设置索引
'----------------------------------------'
charge['收款金额'].fillna(charge['发票金额'], inplace=True)
# charge['收款金额'].fillna(method='bfill', limit=1, axis=0, inplace=True) #纵向填充空值,但是实际上我们需要的是横向填充空值
# print(charge['收款金额'].isnull()) #显示“收款金额”列有多少为空
# print(charge['收款金额'].isnull().sum()) #统计“收款金额”列有多少为空
'----------------------------------------'
# print(charge) #打印数据
# print(charge['2020']) #获取2020年数据
# print(charge['2020-01']) #获取2020年01月数据
# # print(charge['2020-01-17':'2020-01-17']) #获取2020年01月17日数据
'----------------------------------------'
# print(charge)
# print(charge.resample('M').sum()) #按月统计“收款金额”和“发票金额”
'----------------------------------------'
'----------------------------------------'
charge.to_excel('charge_out.xls')
# charge.to_period('M').to_excel('charge_out_按月显示.xls') #按月显示所有收款信息
charge.resample('M').sum().to_excel('charge_out_按月统计.xls')
charge.groupby('发票抬头').sum().to_excel('charge_out_发票抬头分类.xls') #按发票抬头统计所有企业的收款金额,按金额重新排序,划分百分比
导入财务数据,按月统计收款金额,按发票抬头统计收款金额。
最新推荐文章于 2024-04-22 15:25:50 发布