我想写一个程序,按不同供应商分离出销售数据,并统计出其的销售、毛利,之后还想加入平效。在这个程序编写的过程中有些语法问题,在书里描述得不太明白。有些语法可能自己也未吃透。请大家帮忙看看,指点指点。
import pandas as pd
import shutil
class fltj:
gys=("1200","12XX")
gb=0
dz_f=None
def fl(self): #分离供应商数据
pp_m=self.gys(self.gb)
fl1=pd.read_excel(self.dz_f)
fl2=fl1["品牌"]=pp_m #这里应该有问题
scmc="/Users/mac/Desktop/"+self.gys(self.gb)+".xls"
fl2.to_excel(excel_writer=str(scmc))
gb=gb+1 #分离数据完成
tj1=pd.read_excel(scmc)
tj2=tj1.sum["销售额"]
tj3=tj1.sum["毛利润"]
sc_m=str(pp_m)+"销售额"+str(tj2)+"毛利润"+str(tj3)
shutil.move(scmc, sc_m) #统计并输出,用文件名表示
a=fltj()
a.dz_f=input("请输入要分离统计的文件地址:")
while a.gb<len(a.gys):
a.fl()
print("完成!")
运行的时候,在输入需要分离的Excel文件地址后报错如下:
请输入要分离统计的文件地址:/Users/mac/Desktop/ss.xls
Traceback (most recent call last):
File "/Users/mac/Desktop/python/销售数据分离与统计.py", line 22, in
a.fl()
File "/Users/mac/Desktop/python/销售数据分离与统计.py", line 8, in fl
pp_m=self.gys(self.gb)
TypeError: 'tuple' object is not callable
self.gys是一个元祖。取值应该用中括号。而不是小括号。
pp_m=self.gys[self.gb]
运行到fl2.to_excel(excel_writer=str(scmc))这里有报错:'str' object has no attribute 'to_excel'