'How to save each row to csv in dataframe AND name the file based on the the first column in each row

I have the following df, with the row 0 being the header:

teacher,grade,subject

black,a,english

grayson,b,math

yodd,a,science

What is the best way to use export_csv in python to save each row to a csv so that the files are named:

black.csv

grayson.csv

yodd.csv

Contents of black.csv will be:

teacher,grade,subject

black,a,english

Thanks in advance!

Updated Code:

df8['CaseNumber'] = df8['CaseNumber'].map(str)
df8.set_index('CaseNumber', inplace=True)
for Casenumber, data in df8.iterrows():
data.to_csv('c:\\users\\admin\\' + Casenumber + '.csv')'''


Solution 1:[1]

This can be done simply by using pandas:

import pandas as pd
     # Preempt the issue of columns being numeric by marking dtype=str
df = pd.read_csv('your_data.csv', header=1, dtype=str) 
df.set_index('teacher', inplace=True)

for teacher, data in df.iterrows():
    data.to_csv(teacher + '.csv')

Edits:

df8.set_index('CaseNumber', inplace=True)
for Casenumber, data in df8.iterrows():
    # Use r and f strings to make your life easier:
    data.to_csv(rf'c:\users\admin\{Casenumber}.csv')

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1