#python #pandas #csv #for-loop
#python #pandas #csv #for-цикл
Вопрос:
Я новичок в Python, и поэтому мне нужна помощь в создании нескольких csv из 1 csv для значения в 1 столбце. Ниже приведен пример моего исходного файла csv. Исходный файл имеет размер 1000 строк.
Path FolderName FolderOwner EmailAddress
\Afolder1subfolder1file1 folder1 Roy Roy@gmail.com
\Afolder2subfolder4file7 folder2 Roy Roy@gmail.com
\Afolder3subfolder11file9 folder3 Jack Jack@gmail.com
\Afolder4subfolder13file12 folder4 Jack Jack@gmail.com
В приведенном выше примере я хочу запустить for loot, чтобы создать 2 новых CSV-файла для FolderOwner = Roy и Jack. В исходном CSV-файле я получил 50 владельцев папок.
Как только у меня будут эти CSV-файлы, я хочу автоматически отправить электронное письмо владельцам, используя папку EmailAddress, но это часть 2.
Сначала мне нужен скрипт на python с циклом for, чтобы автоматически создать 2 CSV-файла для Роя и Джека.
У меня есть приведенный ниже скрипт, но для него мне нужно указать FolderOwner вручную, что сложно для 50 владельцев.
df1 = pd.read_csv ('originalfile.csv')
df2 = df1[df1.FolderOwner == 'Roy']
df3 = df2['Path', 'FolderName', 'FolderOwner']
df3.to_csv('Royfile.csv')
print(df3)
Ответ №1:
попробуйте это,
df1 = pd.read_csv ('originalfile.csv')
for fn in df1.FolderOwner.unique():
(df1.loc[df1.FolderOwner.eq(fn),
['Path', 'FolderName', 'FolderOwner']].to_csv(f'{fn}file.csv'))