我尝试写入我同时拥有的所有文件。 我有一些文件
izzymonroe@mail.ru.xlsx,
lucky-frog@mail.ru.xlsx,
lucky-frog@mail.ru.xlsx,
izzymonroe@mail.ru.xlsx,
Yubodrova@ya.ru.xlsx,
lucky-frog@mail.ru.xlsx,
Ant.karpoff2011@yandex.ru.xlsx
9rooney9@list.ru.xlsx
我想写这个数据。但是如何将其发送到函数(我需要使用 groupby 写入文件值)
df = pd.read_excel('group.xlsx')
def add_xlsx_sheet(df, sheet_name=u'Смартфоны полно', index=True, digits=1, path='9rooney9@list.ru.xlsx'):
book = load_workbook(path)
writer = ExcelWriter('9rooney9@list.ru.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
if sheet_name in list(writer.sheets.keys()):
sh = book.get_sheet_by_name(sheet_name)
book.remove_sheet(sh)
df.to_excel(writer, sheet_name=u'Смартфоны полно', startrow=0, startcol=0,
float_format='%.{}f'.format(digits), index=index)
writer.save()
它适用于一个文件,但它会将所有数据写入此文件。但是我需要编写组,其中 mail 中的id符合文件名 如何在功能和下一个
中指定所有文件df.groupby('member_id').apply(lambda g: g.to_excel(str(g.name) + '.xlsx', 'sheet2'))
答案 0 :(得分:0)
问题已通过df.groupby('col_name').apply(lambda x: add_xlsx_sheet(x, x.name, path='{}.xlsx'.format(x.name)))