使用python为1列中的相同值创建多个csv
Posted
技术标签:
【中文标题】使用python为1列中的相同值创建多个csv【英文标题】:create multiple csvs for same values in 1 column using python 【发布时间】:2020-12-04 22:02:01 【问题描述】:我是 Python 新手,因此在从 1 个 csv 创建多个 csv 以获取 1 列中的值时需要帮助。 下面是我的原始 csv 文件示例。原始文件有 1000 行大。
Path FolderName FolderOwner EmailAddress
\\A\folder1\subfolder1\file1 folder1 Roy Roy@gmail.com
\\A\folder2\subfolder4\file7 folder2 Roy Roy@gmail.com
\\A\folder3\subfolder11\file9 folder3 Jack Jack@gmail.com
\\A\folder4\subfolder13\file12 folder4 Jack Jack@gmail.com
对于上面的例子,我想运行一个 for loot 来为 FolderOwner = Roy 和 Jack 创建 2 个新的 csv 文件。在原始 csv 文件中,我得到了 50 个 FolderOwners。 拥有这些 CSV 文件后,我想使用 EmailAddress 文件夹向所有者发送自动电子邮件,但这是第 2 部分。
首先我需要一个带有 for 循环的 python 脚本来自动为 Roy 和 Jack 创建 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'fnfile.csv'))
【讨论】:
以上是关于使用python为1列中的相同值创建多个csv的主要内容,如果未能解决你的问题,请参考以下文章