如何使用Python同时写入不同的excel

时间:2016-06-22 12:38:42

标签: python excel pandas

我尝试写入我同时拥有的所有文件。 我有一些文件

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'))

1 个答案:

答案 0 :(得分:0)

问题已通过df.groupby('col_name').apply(lambda x: add_xlsx_sheet(x, x.name, path='{}.xlsx'.format(x.name)))

解决