Python-迭代excel列值以拆分为单独的工作表

Python-迭代excel列值以拆分为单独的工作表,python,excel,pandas,list,Python,Excel,Pandas,List,我有一个包含不同列的excel文件,我想根据唯一的列值(在本例中为月份名称)将其拆分为不同的工作表。因此将创建12个工作表,每个月一个。我在硬编码时没有循环,但我宁愿通过列表循环来节省时间 我当前在excel文件中的输出是一个名为“二月”的sheetname,包含整个数据集 有人有什么想法吗?谢谢 import xlrd import xlsxwriter df = pd.read_excel(r"PATH\data_test.xlsx", index_col = 0) #

我有一个包含不同列的excel文件,我想根据唯一的列值(在本例中为月份名称)将其拆分为不同的工作表。因此将创建12个工作表,每个月一个。我在硬编码时没有循环,但我宁愿通过列表循环来节省时间

我当前在excel文件中的输出是一个名为“二月”的sheetname,包含整个数据集

有人有什么想法吗?谢谢

import xlrd
import xlsxwriter

df = pd.read_excel(r"PATH\data_test.xlsx", index_col = 0)
#writer = pd.ExcelWriter("Test3.xlsx", engine = 'xlsxwriter')
test_list = ['January', 'February']

for i in test_list:
    writer = pd.ExcelWriter("Test3.xlsx", engine='xlsxwriter')
    df.loc[i]
    df.to_excel(writer, sheet_name = i)
    print(i)
    writer.save()
df的内容:

Month      Amount      
January       125
January        32
February       12
March          70
April          48
May            98
June          110
July            7
August        124
September      63
October        93
November        6
December      118



像这样的方法应该会奏效:

groups = df.groupby("Month")
with pd.ExcelWriter("my_file.xls") as writer:
    for (name, df_group) in groups:
        df_group.to_excel(writer, sheet_name=name)

您可以发布一个数据框的示例吗?您可以使用
df.to_string()
当然,我刚刚添加了它。这个问题与Google Sheets无关。谢谢您。不幸的是,这导致了一个名为“九月”的excel工作表,其值仅适用于九月。@Iain应该是固定的。非常感谢!!它工作非常完美:)你是最棒的