2015-11-04 76 views
2

我需要比較windows7中的兩個csv文件。 我該如何着手做到這一點。我想看看這兩個文件的差異,就像我們可以在Linux中使用tkdiff一樣。如何比較Windows中的兩個csv文件

+3

來吧,你認真嗎?你有沒有試過https://www.google.fr/#q=diff+windows? – kebs

+0

是的,我嘗試了谷歌,但沒有找到任何滿意的答案,這就是爲什麼我在這裏問:P –

+0

你也可以使用記事本++的比較插件。 –

回答

7

建議:

  • 的Windows + [R快捷方式,打開Windows的運行提示
  • 鍵入cmd並按輸入打開一個DOS終端
  • 改變當前路徑通過運行命令cd C:\path\to\your\directory到達兩個CSV文件的位置

提示:要粘貼從剪貼板進入DOS終端複製的路徑,可以是(1)終端窗口上右擊,或者(2)按 + 插入

  • 最後,比較兩個文件,運行fc filename1.csv filename2.csv > outfile.txtfc代表「文件比較」)。
    該命令還會將比較結果記錄到位於同一文件夾中的文本文件outfile.txt中。如果outfile.txt不存在,它將自動創建。
+1

更正:fc FILENAME1 FILENAME2> outfile.txt – user5524993

+1

'fc'是一個可怕的文件比較工具。嘗試一下:創建兩個相同的csv文件並保存它們,然後向其中的一個添加新的第一行,並查看會發生什麼。 –

2

這裏是另一種選擇,我發現非常有用,因爲提到here

findstr /v /g:"file1.csv" "file2.csv"

/v開關返回的差異,並從/g:得到file1.csv搜索字符串。您可以使用findstr /?獲取更多幫助。

使用您也可以打印差異文件

findstr /v /g:"file1.csv" "file2.csv > diffs.csv"

順便說一句,我發現findstr更準確和輸出比fc更具可讀性。


UPDATE
這與 '小' 的文件很好地工作。大文件上可能會出現out of memory錯誤。在這種情況下,我不得不轉向Python和數據框。只是一個友好的頭...

0

我今天做到了這一點。

比方說我們有2個CSV文件的X和Y

X具有含列A,B列A,B,C
Y,C

的行是不相同的順序,並disperesed通過csv文件。

我將它們都導入到我的Excel表格中。 我首先按列c,然後按列b,然後按列a對它們排序。 你可以以任何你喜歡的順序去。

通過記事本++的比較插件/超越比較比較排序的文件。