一个解决方法是使用Python的pandas库来比较N个数据集并仅输出并保存差异。下面是一个示例代码:
import pandas as pd
# 定义数据集列表
datasets = ['data1.csv', 'data2.csv', 'data3.csv']
# 读取第一个数据集作为基准
base_dataset = pd.read_csv(datasets[0])
# 循环遍历比较其他数据集
for dataset in datasets[1:]:
# 读取当前数据集
current_dataset = pd.read_csv(dataset)
# 比较两个数据集的差异,将不同的行筛选出来
diff_dataset = current_dataset[~current_dataset.isin(base_dataset)].dropna()
# 输出差异数据集
print(diff_dataset)
# 保存差异数据集为CSV文件
diff_dataset.to_csv('diff_' + dataset, index=False)
在上面的代码中,我们首先定义了一个数据集列表,其中包含了需要比较的N个数据集的文件名。然后,我们读取第一个数据集作为基准数据集。接下来,我们使用一个循环来遍历其他数据集,并在每次循环中读取当前数据集。
使用isin()
函数,我们可以找出当前数据集中在基准数据集中不存在的行。然后,我们使用dropna()
函数来删除包含空值的行,得到最终的差异数据集。
我们可以使用print()
函数输出差异数据集,也可以使用to_csv()
函数将差异数据集保存为CSV文件。在保存为CSV文件时,我们可以通过添加前缀“diff_”来区分每个差异数据集的文件名。