Python 根据条件将数据框拆分为多个数据集,并将每个子集拆分为Excel

Python 根据条件将数据框拆分为多个数据集,并将每个子集拆分为Excel,python,excel,pandas,Python,Excel,Pandas,有人能帮我吗?我没有得到任何输出,也没有收到任何错误消息。我试图使用客户条件将数据框过滤成多个子集,并将每个子集粘贴到Excel工作表中 假设用户输入正确的文件名和现有列,请考虑在同一列上< 组> 运行,而不是< 循环> >。如果用户输入的列名不正确或将数据导出到Excel时出现问题,代码将被包装在try/except中 from openpyxl import load_workbook ... colpick = input("enter column to be splitted:

有人能帮我吗?我没有得到任何输出,也没有收到任何错误消息。我试图使用客户条件将数据框过滤成多个子集,并将每个子集粘贴到Excel工作表中


假设用户输入正确的文件名和现有列,请考虑在同一列上< <代码>组> <代码>运行,而不是< <代码>循环> <代码> >。如果用户输入的列名不正确或将数据导出到Excel时出现问题,代码将被包装在try/except

from openpyxl import load_workbook

...

colpick = input("enter column to be splitted: ")        
colpick = colpick.title().strip()

def sendtoexcel():
    try:
        with pd.ExcelWriter(file, engine='openpyxl') as writer:
            writer.book = load_workbook(file)

            for i, sub in df.groupby([colpick]):             
                sub.to_excel(writer, sheet_name=i, index=False)

            writer.save()

    except Exception as e:
        print(e)

# ACTUALLY RUN FUNCTION
sendtoexcel()

假设用户输入正确的文件名和现有列,请考虑在同一列上< <代码>组> <代码>运行,而不是< <代码>循环> <代码> >。如果用户输入的列名不正确或将数据导出到Excel时出现问题,代码将被包装在try/except

from openpyxl import load_workbook

...

colpick = input("enter column to be splitted: ")        
colpick = colpick.title().strip()

def sendtoexcel():
    try:
        with pd.ExcelWriter(file, engine='openpyxl') as writer:
            writer.book = load_workbook(file)

            for i, sub in df.groupby([colpick]):             
                sub.to_excel(writer, sheet_name=i, index=False)

            writer.save()

    except Exception as e:
        print(e)

# ACTUALLY RUN FUNCTION
sendtoexcel()

df=pd.read\u excel(文件)
的输出是什么?
df
保存什么?@mayank porwal
df
保存整个数据集。您可以粘贴有问题的输出吗?您实际在哪里调用您的函数?代码只接收input并定义一个函数。我已经添加了主数据(输入文件)df并输出快照df=pd.read_excel(文件)的输出是什么?
df
保存什么?@mayank porwal
df
保存整个数据集。您可以粘贴有问题的输出吗?您实际在哪里调用您的函数?代码只接收输入并定义一个函数。我已经添加了主数据(输入文件)df,并输出快照谢谢@Parfait,工作得很好。我现在需要做两件事。我可以定义开始粘贴的范围吗。我需要粘贴输出从单元格D36开始,而不是从当前的A1 2开始。我可以将输出粘贴到与Source相同的工作簿中吗?听起来不错!很乐意帮忙。对于1,请查看的参数。对于2,您应该能够导出到现有的Excel文件。请尝试在
ExcelWriter
中使用原始源文件而不是新文件。您能否帮助满足第二个要求。我试图改变,但没有成功。我需要将数据从sheet2添加到源文件本身,因为sheet1将保存原始数据它不工作意味着什么?错误?当您使用原始文件而不是新文件时,不会导出任何数据?当我创建一个完整的新文件时,代码工作正常。但是当我试图将输出保存在与源文件相同的文件(`file``)中时。我收到一个错误谢谢@Parfait,做得很好。我现在需要做两件事。我可以定义开始粘贴的范围吗。我需要粘贴输出从单元格D36开始,而不是从当前的A1 2开始。我可以将输出粘贴到与Source相同的工作簿中吗?听起来不错!很乐意帮忙。对于1,请查看的参数。对于2,您应该能够导出到现有的Excel文件。请尝试在
ExcelWriter
中使用原始源文件而不是新文件。您能否帮助满足第二个要求。我试图改变,但没有成功。我需要将数据从sheet2添加到源文件本身,因为sheet1将保存原始数据它不工作意味着什么?错误?当您使用原始文件而不是新文件时,不会导出任何数据?当我创建一个完整的新文件时,代码工作正常。但是当我试图将输出保存在与源文件相同的文件(`file``)中时。我犯了一个错误