【发布时间】:2020-06-11 23:37:50
【问题描述】:
在两个 CSV 文件中,有一个文件包含涉及不同字段的额外列,我想知道如何突出显示这些不同的列。
假设这是 CSV1,
ID | StartDate | EndDate | Poop | Name
1 | 2-Jun-10 | 31-Oct-99 | Poop1 | Poopy
2 | 1-Jun-10 | 30-Oct-98 | Poop2 | Butt
3 | 1-Jun-90 | 1-Jun-99 | Poop3 | Hole
给定这些列,分别为 CSV2:
ID | StartDate | Name
1 | 2-Jun-12 | Poopy
2 | 1-Jun-12 | Butt
4 | 1-Jun-14 | Ew
我如何能够: 突出列中的差异? (即在匹配 ID 并查找差异时,突出显示相同列中的差异,即同一列中出现 CSV1 而不是 CSV2)
所以这些表的结果是:
“在CSV2中名称:Ew没有出现在CSV1中,如ID所示:4 not exist in CSV1”
"In CSV1 Name: Hole doesn't appear in CSV2, as shown by ID: 3 not exist in CSV2"
在此先感谢,因为我遇到了麻烦,而且手动操作似乎很简单,但不知道如何编码。到目前为止我已经尝试过了:
import item as item
import pandas as pd
import numpy as np
csv1 = pd.read_csv('C:\\poop1.csv', encoding="ISO-8859-1")
csv2 = pd.read_csv('C:\\poop2.csv', encoding="ISO-8859-1")
csv1.head()
csv1.equals(csv2)
print(csv2[~csv2.ID.isin(csv1.ID)])
print(csv1[~csv1.ID.isin(csv2.ID)])
【问题讨论】:
-
您是否尝试过获取列列表并比较联合中的列?
-
我删除了
r和excel标签,因为这个问题与这两个工具没有直接关系。从技术上讲,没有 Excel CSV。 CSV 是一种行业数据格式,可以像在记事本或其他软件中一样在 Excel 电子表格中打开。 -
另外,避免问太多宽泛的问题,并在您面临的具有挑战性的单个项目上保持具体。尝试的代码似乎没有触及项目 1-3。如果您不知道如何操作,请阅读许多 Pandas 文档、教程、博客、视频等。请参阅 How much research effort is expected of Stack Overflow users?。