因此,它们是两个不同的.csv还是.xlsx文件并不重要。 但是我需要一个关于如何识别不匹配字段的通用方法。 这两个文件在形状和大小方面都不同
例如,文件A可能有32000行,但文件B可能只有16000行。 这是因为我试图比较报告中两个不同数据库之间的偏差。 其中一个数据库是另一个数据库的源。 例如:dbA馈送到dbB,使dbA成为dbB的超集
现在出现的问题是,我试图在两个数据库中匹配employeeID
例如,假设文件A包含以下内容
firstname, lastname, namekey, employeeID, SSN
文件B包含
firstname, lastname, namekey, username, email_address, phone_number, EmployeeID, SSN
我必须匹配的字段将基于employeeID=employeeID。 我如何打印出一个只显示ID不匹配的行的差异视图
标准可以是任何东西,从技术上讲,我可以运行SQL命令来提取.csv或.xlsx文件,以提取一些关键的唯一标识符,因为我们有共同的名称,但有不同的员工ID号
所以我想SSN可能是主过滤器,说嘿,这个ID对于这个SSN是不同的。 我只需要一种方法来实现这一点,并生成一个显示差异的文件。我不在乎我必须使用什么语言,因为我熟悉很多不同的东西。但主要是Python或其他一些工具,它们能够很好地解析这一点,并且不依赖于操作系统
到目前为止,我已经尝试过:
vimdiff
git diff --color-words="[^[:space:],]+" x.csv y.csv
它们都很好地展示了这一点,但我不希望两个文件中都没有的行出现在输出中。否则,它只会产生大量噪音
要从csv读取列中的所有值,请执行以下操作:
要从excel中读取列中的所有值,请执行以下操作:
我们已经读取了整个文件,但是现在只有两个dict,一个是
csv_column
,另一个是excel_columns
你现在要做的就是比较结果
建议:同时打印
csv_column
和excel_columns
以检查您使用上述代码得到了什么(因为老实说,这些代码是我去年刚刚从一个项目中复制的,但我已经忘记了一半,所以我不能完全确定输出结果。它确实有效)相关问题 更多 >
编程相关推荐