Separate Data into Multi CSV File by Column Values in Python

Easily split a big csv to small files unique items in a column without formula. Only add csv file, Get Results in Seconds.

import pandas as pd

sourceFile = 'SourceFile.csv'

df = pd.read_csv(sourceFile, header=0, delimiter=",")
columns = df.columns.values.tolist()
columnsList = list(pd.Series(columns).str.upper())

columnChoosen = 'Fruit'

while True:
    if columnChoosen.upper() in (columnsList):
        indxVal = columnsList.index(columnChoosen.upper())
        columnToSplit = columns[indxVal]
        uniqueValues = df[columnToSplit].unique()
        for label in uniqueValues:
            dfLabel = df[df[columnToSplit] == label]
            splitTargetFile = f"{sourceFile.replace('.csv', '')}_{label}.csv"
            dfLabel.to_csv(splitTargetFile, index=False, header=True, mode='a')
        break
    else:
        columnChoosen = input(f"Which column to choose to split file? type in: {columns} ?")