我无法将清理后的 df 保存到目标目录

I can't save the cleaned df to target directory

我试图从大文件中删除重复项,但将它们保存到不同的目录中。我 运行 下面的代码,但它将它们保存(覆盖)在根目录中。我知道如果我切换到 inplace='False' 它不会覆盖根目录中的那些文件,但它也不会将它们复制到目标目录中,所以这没有帮助。

请指教,谢谢! :)

import os
import pandas as pd
from glob import glob
import csv
from pathlib import Path

root = Path(r'C:\my root directory') 
target = Path(r'C:\my root directory\target')
file_list = root.glob("*.csv")

desired_columns = ['ZIP', 'COUNTY', 'COUNTYID']

for csv_file in file_list:
    df = pd.read_csv(csv_file)
    df.drop_duplicates(subset=desired_columns, keep="first", inplace=True)
    df.to_csv(os.path.join(target,csv_file))

示例:

ZIP COUNTYID    COUNTY
32609   1   ALACHUA
32609   1   ALACHUA
32666   1   ALACHUA
32694   1   ALACHUA
32694   1   ALACHUA
32694   1   ALACHUA
32666   1   ALACHUA
32666   1   ALACHUA
32694   1   ALACHUA

这应该有效,同时还能减少您的依赖性:

import pandas as pd
import pathlib

root = pathlib.Path(r"C:\my root directory") 
target = root / "target"
file_list = root.glob("*.csv")

desired_columns = ["ZIP", "COUNTY", "COUNTYID"]
for csv_file in file_list:
    df = pd.read_csv(csv_file)
    df.drop_duplicates(subset=desired_columns, keep="first", inplace=True)
    df.to_csv(target / csv_file.name)

请注意,由于 target 是相对于您的根目录的,您可以简单地使用 / 运算符加入。