首页 > 解决方案 > 从多个 csv 文件中删除重复项并保存在另一个目录中

问题描述

我是 python/pandas 的新手。我在一个目录中有多个 csv 文件。我想删除所有文件中的重复项并将新文件保存到另一个目录。以下是我尝试过的:

import pandas as pd
import glob

list_files = (glob.glob("directory path/*.csv"))
for file in list_files:
    df = pd.read_csv(file)
    df_new = df.drop_duplicates()
    df_new.to_csv(file)

此代码运行但未产生预期结果。几个问题。

  1. 文件被覆盖在现有目录中。
  2. 添加了一个额外的索引列,这不是必需的。

需要在代码中进行哪些更改才能获得具有相同文件名的同一组文件而没有重复行到另一个目录?

标签: pythonpandasdataframecsv

解决方案


添加index=False参数 to_csv 方法以防止新的索引列;

更改 to_csv 方法中的路径以防止覆盖;

import pandas as pd
import glob

list_files = (glob.glob("directory path/*.csv"))
for file in list_files:
    df = pd.read_csv(file)
    df_new = df.drop_duplicates()
    new_filename = f'new_directory/{file}'
    df_new.to_csv(new_filename, index=False)


推荐阅读