【问题标题】:create multiple csvs for same values in 1 column using python使用python为1列中的相同值创建多个csv
【发布时间】: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)

【问题讨论】:

    标签: python pandas csv for-loop


    【解决方案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'))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      相关资源
      最近更新 更多