我有一张excel工作簿,其中包含多张包含一些销售数据的工作表。我正在尝试对它们进行排序,以便每个客户都有一个单独的工作表(不同的工作簿),并具有项目详细信息。我创建了一个包含所有客户名称的dictionary
。
for name in cust_dict.keys():
cust_dict[name] = pd.DataFrame(columns=cols)
for sheet in sheets:
ws = sales_wb.sheet_by_name(sheet)
code = ws.cell(4, 0).value #This is the item code
df = pd.read_excel(sales_wb, engine='xlrd', sheet_name=sheet, skiprows=7)
df = df.fillna(0)
count = 0
for index,row in df.iterrows():
print('rotation '+str(count))
count+=1
if row['Particulars'] != 0 and row['Particulars'] not in no_cust:
cust_name = row['Particulars']
# try:
cust_dict[cust_name] = cust_dict[cust_name].append(df.loc[df['Particulars'] == cust_name],ignore_index=False)
cust_dict[cust_name] = cust_dict[cust_name].drop_duplicates()
cust_dict[cust_name]['Particulars'] = code
现在我必须删除重复项,因为Particulars
的客户端名称不止一次,因此应对appends
数据说x次。
我想避免这种情况,但我似乎无法找到一个好办法。
第二个问题是,由于code
更改了所有行的最后一个工作表中的code
,但我希望它对于从特定工作表中提取的行保持不变。
我似乎无法找到解决上述问题的方法。
谢谢