如何在windows中比较两个csv文件
我需要比较windows7中的两个csv文件。 我如何才能实现这一目标。我想看看这两个文件的区别,比如我们可以在Linux中使用tkdiff。建议:如何在windows中比较两个csv文件,windows,csv,excel-2010,Windows,Csv,Excel 2010,我需要比较windows7中的两个csv文件。 我如何才能实现这一目标。我想看看这两个文件的区别,比如我们可以在Linux中使用tkdiff。建议: 按Windows+R快捷方式打开Windows的运行提示 键入cmd并按Enter键打开DOS终端cmd窗口 通过运行命令cd C:\path\to\your\directory来更改当前路径,以到达两个CSV文件的位置 提示:要将复制的路径从剪贴板粘贴到DOS终端cmd窗口,您可以(1)右键单击终端窗口,或(2)按Shift+Insert
- 按Windows+R快捷方式打开Windows的运行提示
- 键入
并按Enter键打开DOS终端cmd窗口cmd
- 通过运行命令
来更改当前路径,以到达两个CSV文件的位置cd C:\path\to\your\directory
- 最后,要比较这两个文件,请运行
(fc filename1.csv filename2.csv>outfile.txt
代表“文件比较”)。fc
该命令还将把比较结果记录到同一文件夹中的文本文件
。如果outfile.txt
不存在,将自动创建它outfile.txt
findstr/v/g:“file1.csv”“file2.csv”
其中,/v
开关返回差异,/g:
从file1.csv获取搜索字符串。您可以使用findstr/?
获取更多帮助
您还可以使用以下方法将差异打印到文件中:
findstr/v/g:“file1.csv”“file2.csv>diff.csv”
另外,我发现findstr
比fc
准确得多,输出的可读性也更高
更新
这可以很好地处理“较小”的文件。在较大的文件上,可能会出现
内存不足
错误。在本例中,我不得不转向Python和数据帧。只是一个友好的提醒…我今天这么做了
假设我们有两个csv文件X和Y
具有a、b、c列的X具有a、b、c列的Y 这些行的顺序不同,它们分散在csv文件中 我在excel表格中导入了这两个。 我先按c列排序,然后按b列排序,然后按a列排序。 你可以按你喜欢的顺序去
通过notepad++的Compare插件/Beyond Compare比较已排序的文件。您也可以使用Powershell执行相同的操作,如果您位于只读文件夹中,这将非常有用
compare-object -ReferenceObject (Get-Content filename1.CSV) -DifferenceObject (Get-content filename2.CSV)
通过在文件夹的地址栏中键入Powershell,您可以直接在文件夹中启动Powershell,而无需通过cd导航。C'mon,你是认真的吗?你试过了吗?是的,我试过谷歌,但没有找到满意的答案,这就是为什么我在这里问:PYou也可以使用notepad++的比较插件。比较2个CSV实际上相当困难,因为你必须正确地转义每个字段,而且你可能希望根据一个键比较每一行,而不是像一般文本比较那样逐行比较。
fc
是一个可怕的文件比较工具。自己试试看:创建两个相同的csv文件并保存它们,然后在其中一个文件中添加新的第一行,看看会发生什么。