在一个Excel工作表中筛选数据框并导出到另一个Excel工作表

时间:2019-12-10 17:48:56

标签: python pandas dataframe

我在编码方面还很陌生,想做以下事情:

我在一个工作表中的一个Excel文件中有一个很大的数据集。可以说不同的列是:品牌国家/地区城市 Store_Number

我想过滤上面的数据集,但是有不同的品牌,然后将过滤的数据框导出到新的Excel工作表上。我想循环浏览并为所有品牌做到这一点-假设该列中有很多独特的品牌。

到目前为止,我使用的是:

df = pd.read_excel("TestFile.xlsx")

brands = df['Brand'].unique().tolist()
writer = pd.ExcelWriter("MyData.xlsx", engine='xlsxwriter')

for mybrand in brands:
    mydf = df.loc[df.Brand==mybrand]
    mydf.to_excel(writer, sheetname==mybrand)

writer.save()

但是我一直得到的错误是:未定义工作表名称

有人可以帮忙吗?学习代码时,堆栈溢出非常有用!

1 个答案:

答案 0 :(得分:2)

根据熊猫文档,to_excel可以采用以下参数:

DataFrame.to_excel(self, excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, encoding=None, inf_rep='inf', verbose=True, freeze_panes=None)

您正在尝试使用
  mydf.to_excel(writer, sheetname==mybrand)

应该是
mydf.to_excel(writer, sheet_name=mybrand)