python - 从多个 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)
此代码运行但未产生预期结果。几个问题。
- 文件被覆盖在现有目录中。
- 添加了一个额外的索引列,这不是必需的。
需要在代码中进行哪些更改才能获得具有相同文件名的同一组文件而没有重复行到另一个目录?
解决方案
添加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)
推荐阅读
- python - Google Colab TPU 中未实现文件系统方案“[本地]”
- javascript - Canvasjs 堆积图动态
- kotlin - mutableListOf 到 Bundle (Kotlin)
- python - 为什么继电器低和高相反?
- python - django 中的单个 CreateView 用于将多个 ModelForm 数据提交给多个 Model
- c++ - 如何在 FLTK Multiline_Input 中自动将换行符放在文本的末尾?
- c++ - 使用原始参考或 std::reference_wrapper
- azure - Azure StorageAccount 最低 TLS1.2 支持
- laravel - ErrorException:未定义的偏移量:0
- java - 如何在 Java 中克隆 cplex 对象?