我有一堆包含不同品牌销售数据的数据框。我想创建一个最终可以根据品牌特定数据框架制作excel文件的函数。一切正常,除了我需要制作唯一命名的excel文件作为输出。这是我目前拥有的:
def brandOverview(b):
brandWriter = pd.ExcelWriter("Brand.xlsx", engine='xlsxwriter')
b.to_excel(brandWriter, sheet_name='Data')
brandWriter.save()
这行得通,但最终我希望为放入函数(b)的数据帧唯一命名“ Brand.xlsx”。例如,如果我的数据框名为“ Adidas”,brandOverview(Adidas)将输出一个名为“ Adidas.xlsx”的文件。
我尝试使用:
brandWriter = pd.ExcelWriter((str(b)+".xlsx"), engine='xlsxwriter')
据我所知,这会生成数据帧中所有数据的字符串,最终导致错误。
您的尝试非常接近。您只需要更改str(b)
并替换为'Adidas'
在这种情况下返回的东西,以及其他情况下返回的品牌。您没有提供有关数据框结构的任何信息。但是,为了使其正常工作,您需要能够访问中的'Adidas'
某个位置b
。如果它不在其中,则无法执行此操作。如果在那里,那么您可以。如果您自己没有生成这些数据帧,那么您可能不知道它是否在哪里以及在哪里。您如何知道此数据框用于'Adidas'
。它在字典中吗?如果是这样,那么也许您应该将字典关键字与数据帧一起传递,如下所示:
def brandOverview(b, name):
brandWriter = pd.ExcelWriter(name + ".xlsx", engine='xlsxwriter')
b.to_excel(brandWriter, sheet_name='Data')
brandWriter.save()
也许品牌名称在索引的名称属性中:
def brandOverview(b):
brandWriter = pd.ExcelWriter(b.index.name + ".xlsx", engine='xlsxwriter')
b.to_excel(brandWriter, sheet_name='Data')
brandWriter.save()
也许品牌名称在列的名称属性中:
def brandOverview(b):
brandWriter = pd.ExcelWriter(b.columns.name + ".xlsx", engine='xlsxwriter')
b.to_excel(brandWriter, sheet_name='Data')
brandWriter.save()
第一栏名称:
def brandOverview(b):
brandWriter = pd.ExcelWriter(b.columns[0] + ".xlsx", engine='xlsxwriter')
b.to_excel(brandWriter, sheet_name='Data')
brandWriter.save()
最终,您没有提供足够的信息。这应该可以为您提供帮助,但是我希望您能跟进示例数据,以便我们提供进一步的帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句