Сравнить два файла csv

Обновлено: 02.07.2024

Программа для сравнения файлов и папок, в том числе заархивированных или расположенных на удаленном сервере. С помощью Beyond Compare 3 также можно сравнивать ключи Реестра, изображения, MP3-теги, синхронизировать каталоги, редактировать исходный код и выполнять множество других задач.

Интерфейс Beyond Compare удобен за счет многовкладочного интерфейса: это позволяет работать с несколькими сессиями параллельно и в одном окне. Помимо того, можно создавать рабочие пространства (workspaces) — коллекции открытых сессий.

Важные отличия этого продукта от большинства аналогов — наглядность сравнения и удобство редактирования во всех доступных режимах. Скажем, сравнение двоичных файлов предусматривает также правку посредством HEX-редактора. При работе с изображениями различия отображаются как пиксели, не говоря уже о полноценном редактировании файлов. MP3-файлы можно сравнивать по метаданным. Поддержка дополнительных форматов обеспечивается плагинами.

В режиме сравнения файлов используется традиционный двухпанельный интерфейс. Цвет шрифта позволяет отметить важные различия (красная маркировка) и менее существенные (синяя), фоновый цвет также несет функциональное значение. Для правки текста предусмотрен полноценный редактор исходного кода с поддержкой соответствующих форматов (см. Tools → File Formats).

При сравнении каталогов используется тот же двухпанельный вид отображения. Для показа различий применяются маркировки и значки, значение которых легко обнаружить в документации. Можно сравнивать директории как побайтово (медленный метод), так и по указанным свойствам, таким как дата или размер (быстрый метод).

Отображение данных регулируется посредством файлового фильтра (вывод указанных типов файлов) или фильтра отображения (показ изменений). Все необходимые инструменты вынесены на панель инструментов справа от вкладок. В меню Actions находятся команды, связанные с синхронизацией и сравнением. Управление отображением доступно в меню View.

В сравнении каталогов могут быть задействованы различные источники — не только локальные, но также и удаленные каталоги, архивы (поддерживаются форматы RAR, ZIP, 7z и мн. др.), снимки файловой структуры (snapshots). Благодаря предосмотру, можно заранее ознакомиться с результатом синхронизации.

Рутинные задачи автоматизируются с помощью скриптов. В Beyond Compare есть поддержка командной строки и регулярных выражений. Отчет доступен для печати или вывода в форматах HTML и TXT.

Резюме. Beyond Compare представляет собой многофункциональное решение для синхронизации, слияния, редактирования различных типов данных. Наравне с функциональностью, очень удобен многовкладочный интерфейс с поддержкой сессий и рабочих пространств. В результате, программа хороша при работе как с малыми, так и с достаточно сложными проектами.

[+] Удобный интерфейс
[+] Работа с архивами и удаленными каталогами
[+] Возможности автоматизации
[+] Доступные фильтры и режимы отображения

Compare++

Compare++ представляет собой программу для сравнения директорий и текстовых файлов в ОС Windows. Позиционируется, прежде всего, как инструмент для программистов и веб-разработчиков: благодаря распознаванию функций, классов, документ с исходным кодом легко структурируется, удобен в навигации, редактировании.

Оболочка Compare++ весьма проста и ничем не перегружена. Сохранение сессий не предусмотрено, вместо этого можно воспользоваться историей. Вкладочный интерфейс позволяет работать с несколькими проектами одновременно.

Среди основных возможностей — сравнение файлов, каталогов и трехстороннее слияние. При сравнении данных можно быстро переключиться в один из двух режимов, ориентированных на работу с текстом или кодом. Во втором случае, на панели Function View выводится список классов, к каждому из которых легко перейти в документе и произвести с ним нужные действия (например, слияние) парой кликов мыши. Вообще говоря, Function View — не такая и редкость для редакторов исходного кода, но для программ данной категории это единичный случай.

Сравнение директорий осуществляется без предосмотра. Синхронизация содержимого архивов и с удаленным сервером не предусмотрена, зато можно сохранять снимки файловой структуры и применять фильтры для файлов и каталогов. На панели инструментов также можно обнаружить дополнительные режимы отображения. Сравнение осуществляется по свойствам файла — дате модификации и размеру, возможно рекурсивное и сравнение по содержимому (соответствующие опции доступны в секции Folder Compare настроек). Колонки сортируются, но не поддаются настройке.

Возможна работа через интерфейс командной строки. Соответственно, Compare++ интегрируется с продуктами SVN, Git, Perforce, Microsoft TFS, SourceSafe и прочими системами в качестве внешнего инструментария для сравнения.

Резюме. Compare++ можно рассматривать как хорошо настраиваемый редактор исходного кода, с функциями сравнения и синхронизации. Равно как и наоборот — как программу для синхронизации с редакторскими функциями. В связке с интеграционными возможностями, программа будет полезна как дополнение к IDE-среде.

[−] Нет полноценной поддержки сессий
[−] Отсутствие расширений
[+] Удобная работа с исходным кодом
[+] Трехстороннее слияние
[+] Создание diff-патчей и отчетов

Araxis Merge

Araxis Merge — программа для визуального сравнения, слияния и синхронизации папок. Встроенный редактор распознает различные форматы документов: исходный код, веб-страницы, XML, PDF, Microsoft Office, изображения и т. п. Также в Merge предусмотрена интеграция с популярными системами управления версиями и другими средами разработки.

В Merge задействован вкладочный интерфейс, поддерживается сохранение сеансов и рабочих пространств со всеми настройками в отдельный файл. Лента Ribbon разделена на секции, благодаря этому расположение команд легко запоминается, инструменты для работы с текстом всегда под рукой. Все действия, связанные с редактированием и навигацией по тексту, доступны на ленте. Панель инструментов тщательно настраивается только в Mac OS, возможны и другие различия между версиями Merge, в зависимости от платформы. Расположение панелей легко изменить на вертикальное или горизонтальное расположение, можно добавить дополнительные информационные колонки. Таким образом, программа удобна, ее интерфейс продуман до мелочей.

Merge поддерживает 4 режима сравнения. Дополнительные режимы (сравнение изображений и двоичных данных) не столь интересны ввиду отсутствия инструментов редактирования. Поэтому далее речь будет идти о сравнении файлов и директорий.

Текстовый редактор поддерживает подсветку синтаксиса, нумерацию строк. При сравнении, кроме изменений, отмеченных соответствующим цветом, удобно отслеживать связи между строками посредством соединительных линий (Linking lines). Наведя курсор на соответствующий блок, можно применить для него операцию слияния с соседним файлом (функция Point-and-click merging). Здесь улавливается аналогия с упомянутой в первой части обзора программой SmartSynchronize. В документ можно добавлять закладки и комментарии. Экспорт отчетов, с занесением всех отличий, осуществляется в форматах DIFF, HTML, HTML-слайдшоу и XML.

Второй основной режим работы Araxis Merge — сравнение и синхронизация каталогов. Сильная сторона этого инструмента — поддержка различных источников: виртуальная файловая система, сетевые диски, проекты и другие источники. При сравнении, доступны две панели с отображением структуры каталогов, также несложно активировать режим трехстороннего слияния.

Конфигурация фильтров для директорий и файлов доступна в разделе Filters настроек. Они делятся на визуальные (вывод только нужных данных) и фильтры выбора (выбор файлов по заданным критериям).

В перечне доступных операций — объединение папок, побайтовое сравнение и сравнение по размеру и дате. При автосинхронизации файлы с конфликтами не обрабатываются и откладываются для принятия пользователем решения.

Потенциальные возможности Araxis Merge значительно возрастают, если брать в расчет интеграцию с Mercurial, Git, Subversion, Perforce и другими средами. Расширяемость обеспечивается встроенными в программу плагинами.

Резюме. Araxis Merge — программа с хорошо продуманным интерфейсом, оптимальным набором инструментов для сравнения, синхронизации и слияния данных. Из пожеланий — не хватает дополнительных режимов сравнения данных, в сочетании с удобным редактированием, как в случае с Beyond Compare.

[+] Интеграция со средами разработки
[+] Удобное визуальное сравнение
[+] Переключение режимов отображения
[+] Статистика и отчетность

UltraCompare Professional

UltraCompare позволяет сравнивать текстовые файлы, документы Word, двоичные файлы, каталоги и архивы, локальные, удаленные директории и съемные носители. Поддерживаются автоматическая синхронизация, трехстороннее слияние, поиск дубликатов и прочие вспомогательные операции.

Интерфейс UltraCompare предусматривает как сессии, так и рабочие пространства. Он удобен, не в последнюю очередь, за счет быстрого доступа к файловым операциям: например, можно выбрать для сравнения нужные файлы прямо из боковой панели. Здесь же, в левой панели, можно создать фильтр. Дополнительные опции можно найти в разделе Ignore Options настроек.

На выбор предоставлены следующие режимы работы с данными: сравнение текста и папок (плюс трехстороннее слияние для обоих видов), двоичных файлов, синхронизация папок. Смена режима осуществляется через меню Mode. Выбрав его, можно указать источники для левой и правой панелей, перетянув их в окно и нажав кнопку Go.

При сравнении текста, строки с различиями маркируются фоновым цветом и помечаются символами рядом с нумерацией. Соединительные линии позволяют отследить связь между двумя документами и помогают при слиянии, соответствующие команды доступны в разделе меню Merge. Для редактирования исходного кода рекомендуется прибегнуть к инструментарию программы UltraEdit. Возникает вопрос: насколько целесообразно оплачивать одну из дополнительных возможностей, если стоимость этого редактора выше, чем UltraCompare.

Для рекурсивного и не рекурсивного сравнения доступны локальные, удаленные и съемные источники, также поддерживаются ZIP-, RAR-, JAR- архивы. Результаты сравнения отображаются по обе панели (источник — получатель). Сравнение осуществляется по размеру и возрасту или содержимому файлов.

Пользователь имеет возможность создавать правила синхронизации (rules): замена файлов, удаление устаревших элементов, копирование и прочие. Возможна синхронизация по расписанию. Поддерживается командная строка, в наличии интеграция с приложениями для контроля версий: AnkhSVN Perforce, QVCS, Subversion, TortoiseCVS, TortoiseSVN и другими.

Резюме. Инструментарий UltraCompare включает в себя наиболее востребованные режимы сравнения, слияния и синхронизации, позволяя задействовать различные источники данных. Широкие интеграционные возможности посредством командного интерфейса. Вроде бы, все в угоду разработчику, но редактор без подсветки синтаксиса — это явный недостаток.

[+] Сравнение архивов и удаленных каталогов
[+] Интеграция с приложениями для контроля версий
[+] Трехстороннее сравнение
[−] Ограничения встроенного редактора

ExamDiff Pro

Программа ExamDiff предназначена для визуального сравнения текстовых, двоичных файлов и директорий. В длинном списке основных функций можно обнаружить поддержку плагинов. Благодаря им, возможна работа с такими форматами, как XML, HTML, PDF, MS Excel, Word, PowerPoint и другими.

Очевидно, что для редактирования кода ExamDiff открывает широкие возможности, как по функциональности, так и по удобству. Меню View позволяет настроить отображение панелей на усмотрение пользователя, панель инструментов полностью настраиваема.

Редактор поддерживает подсветку синтаксиса, нумерацию, в документе можно создавать закладки. Предусмотрены различные способы навигации по документу: собственно, навигационная панель, выпадающий список, синхронная прокрутка. Многие действия выполняются без лишних, как часто случается, манипуляций: например, для перехода к настройкам цветовой схемы достаточно кликнуть по маркировкам в статусной строке, для добавления исключения — поставить флажок Skip возле выпадающего списка, а через контекстное меню открывается доступ к командам плагинов.

Среди дополнительных возможностей для синхронизации директорий — поддержка удаленных источников, архивов. В ExamDiff можно создавать снимки для последующего сравнения, применять фильтры для различных групп файлов (в настройках имеется ряд предустановок), применять фильтры по временной отметке и размеру.

Помимо редакций Pro Standard и Pro Master, существует бесплатная версия ExamDiff. В ней нет трехстороннего слияния, сравнения директорий и двоичных файлов.

Резюме. ExamDiff Pro содержит необходимые инструменты для редактирования. Редактор адаптирован для работы с большими документами, исходным кодом, позволяя быстро ориентироваться по документу и переходить в нужный участок файла.

[+] Гибкая настройка
[+] Расширенные функции редактирования
[+] Поддержка расширений
[+] Удобная навигация по документам

На любой платформе 1С есть типовая обработка «Сравнить файлы». Находится в верхнем левом углу: «Главное меню — Файл — Сравнить файлы».



Чтобы начать работать, добавьте сопоставляемые файлы в окошки «Сравнить» и «С». Укажите «Как» сравнить: табличный документ, текстовый документ или двоичное сравнение. Нажмите клавишу «ОК».


Открылось окно с обеими таблицами, в которых цветом выделены отличающиеся значения.



На верхней панели инструментов доступны следующие команды :


позволяют переходить по различиям от текущего значения к следующему и обратно, в это время в основном окне будет выделена ячейка с отличием;


меняет порядок сравнения: если ее нажать, то правый лист окажется слева, а левый — справа;


— настройка ячеек по цветам.


В нижней части окна отображается подсказка, что означает каждый цвет.


Плюсы:

не требует дополнительного программного обеспечения;

моментально показывает все изменения без предварительных настроек;

удобный интерфейс: когда на любой части окна прокручиваешь первый файл вверх/вниз или вправо/влево, в то же время параллельно ему прокручивается второй.

Минусы:

ограниченное количество форматов — работает только с .txt и .mxl. Нельзя вставить Excel-файлы;

невозможно сохранить результат сравнения во внешний файл. Даже если скопировать данные и вставить в тот же Excel, цветное выделение различий не перенесется;

нет дополнительных формул, например, чтобы вывести сумму по колонке.

Способ № 2: сравнить в Excel

Самый распространенный метод: выгружаете первоначальный вариант отчета и тот же отчет с поправками в формате .xls и сверяете их в Microsoft Excel, пользуясь доступными формулами.

Для примера приведу стандартную формулу «Если».

1. Выделяем пустую ячейку. В ней будет отображаться результат функции.


2. В верхней панели кликаем на ярлык формулы .

3. В предложенном списке выбираем функцию «ЕСЛИ», нажимаем «ОК».

4. Задаем условие в поле «Лог-выражение». На скрине-примере условие следующее: если значение ячейки по колонке «Конечный остаток» левой таблицы равен значению ячейки по колонке «Конечный остаток» справа.

5. В поле «Значение_если_истина» указываем, какой вывод нужно вывести, если значения равны.

6. В поле «Значение_если_ложь» обозначаем, какой вывод нужно вывести, если значения различны.


В таблице автоматически отобразился результат по выделенной строке. Чтобы вывести итоги по другим строкам, наведите мышку на правый нижний угол первой ячейки с формулой, захватите и протяните по колонке вниз до конца таблиц.


В скрине-примере видно, что гораздо больше итогов с выводом «отличаются», что не соответствует действительности — некоторые строки с одним и тем же регистратором не располагаются друг напротив друга. Выбранная функция этот момент не контролирует, поэтому вышли ложные результаты. Чтобы исключить такие ошибки, прежде чем использовать формулу, необходимо обе таблицы вручную откорректировать и проставить строки с одним и тем же регистратором в одну линию.

Способ занимает много времени, особенно если сводка состоит из тысячи строк. Его удобно использовать, работая с небольшим объемом данных.

В маленьких файлах вы можете суммировать значения ячеек в колонках и тем самым выходить на строки с различиями.


Если хотите быстро найти нужные ячейки, не вчитываясь в каждую строку и не напрягая зрение, воспользуйтесь функционалом «Условное форматирование».

Вот один из примеров настройки:



Плюсы:

гибкая система функций, условий. Можно самостоятельно прописать практически любые условия по сравнению, выделению, форматированию данных.

Минусы:

иногда потребуется не один час, чтобы подстроить таблицу для шаблонной формулы;

при сверке объемных документов, даже с использованием формул, легко не заметить нужную ячейку и допустить ошибки по невнимательности.

Способ №3: использовать «Средство сравнения электронных таблиц»

«Средство сравнения электронных таблиц» — отдельное ПО, устанавливаемое вместе с пакетом версии Microsoft Office 2013 Pro+ и Microsoft Office 365 Pro+. В других версиях этой программы нет.

Чтобы ее запустить, в меню «Пуск» выберите: «Все программы — Microsoft Office — Средство сравнения электронных таблиц (Spreadsheet Compare 2013)».

На вкладке «Главное» (Home) нажмите «Сравнить файлы» (Compare Files).


В окошках «Сравнить» (Compare) и «С» (To) укажите нужные файлы формата Excel. Нажмите «ОК».


Выбранные файлы распределились в разных частях рабочего окна, отличающиеся ячейки в них выделены цветом. Вы можете отрегулировать, какие различия показывать, а какие нет, с помощью настройки Option, которая расположена в левой нижней части окна. Тут же указано, что означает каждый цвет.

Правее от окошка Option отображается список всех ячеек, где отличаются значения. Если вы кликните на интересующую строку, в табличных частях программа автоматически выделит эти ячейки и вам не придется искать их глазами.

В правом нижнем углу показывается статистика по отличиям: общее количество различающихся значений, число ячеек с разным форматом и прочее.


Результаты сравнения можно сохранить в Excel по команде: «Экспорт результатов» (Export Results) на вкладке «Главное» (Home). Есть возможность скопировать итоги и вставить их в любое другое текстовое ПО: «Копировать результаты в буфер обмена» (Copy Results to Clipboard).

Плюсы:

позволяет быстро и просто сверять готовые таблицы;

можно сохранить результат для дальнейшего использования;

есть автоматическое выделение всех отличающихся ячеек, фильтр по интересующим параметрам.

Минусы:

нельзя редактировать табличные части;

работает только с форматом Excel;

доступна в Microsoft Office 2013 Pro+ и Microsoft Office 365 Pro+.

Способ № 4: использовать Excel Power Query

Power Query — отдельная надстройка в Excel, которая по умолчанию есть в версии Microsoft Office 2016 и выше (вкладка «Данные»). В младших версиях ее можно установить самостоятельно, скачав по ссылке: Power Query — технология подключения к данным, которая помогает обнаруживать, подключать, объединять и уточнять данные из различных источников для анализа.

Чтобы начать с ней работать, необязательно заранее подготавливать файлы Excel, сохранять, копировать таблицы. Power Query позволяет загружать данные:

внешнего файла форматом Excel, CSV, XML;

баз данных SQL, Access, IBM DB2 и других;

веб-служб Dynamics 365,

Самые продвинутые пользователи могут «Написать запрос с нуля».

В этой статье я подробно опишу только сопоставление двух таблиц. На первый взгляд, способ очень трудный и долгий, но если вы освоите его, то процесс будет занимать не больше 10 минут.

Перед вами две таблицы в Excel. Нужно преобразовать каждую в умную таблицу. Для этого выделите нужный диапазон, на вкладке «Главная» кликните на «Форматировать как таблицу» или на клавиатуре нажмите Ctrl+T.


Теперь с каждой таблицы необходимо создать отдельные запросы для сравнения. Выделите любую ячейку в первой таблице и перейдите на вкладку Power Query «Из таблицы или диапазона». Она откроется в «Редакторе Power Query». Рекомендую задать ей «Имя» в свойствах, чтобы в дальнейшем не путать файлы. При необходимости уберите лишние строки и столбцы.


Нажмите «Закрыть и загрузить в …», выберите «Только создать подключение» и кликните на кнопку «Загрузить».



Повторите все шаги со вторым документом.

В правой части окна появились два запроса с указанными именами таблиц. На панели инструментов выберите команду «Слияние» и укажите поочередно созданные запросы. По одному разу в каждой части окна кликом выделите колонки, по которым нужно объединить файлы. Тип соединения «Полное внешнее (все строки из обеих таблиц)». Кликните на «ОК».



Вы снова попали в «Редактор Power Query». Здесь обе таблицы объединены в одну путем слияния указанных столбцов. В «Свойствах» задайте имя новому документу — раскройте крайнюю правую колонку, нажав на иконку .


Следующий этап — вывести отличия таблиц в отдельную колонку. На вкладке «Добавление столбца» выберите «Условный столбец». В окне настройки задайте «Имя нового столбца» и проставьте условия сравнений колонок и какой вывод должен отразиться при их соблюдении. Правил можно задавать неограниченное количество с помощью команды «Добавить правило».

В примере задано:

1. Если в колонке «Регистратор» первой таблицы стоит значение null, а во второй таблице это значение заполнено, значит документ «Добавили».

2. Если в колонке «Регистратор1» второй таблицы стоит значение null, значит документ «Удалили».

3. Если значения колонок «Конечный остаток» и «Конечный остаток1» не равны, значит данные «Изменили».


Обратите внимание на третье условие. Чтобы в «Значении» выбрать нужную колонку, кликните на иконку , затем «Выберите столбец». Только тогда появится выпадающий список допустимых колонок.

Обязательно заполните в левом нижнем углу значение «В противном случае» — оно будет исполняться, если ни одно из вышеприведенных условий не выполнено. Нажмите «ОК».


В «Редакторе» появилась крайняя правая колонка, в которой выведены результаты сравнения по каждой строке. С помощью удобного фильтра можно вывести только строки с интересующим итогом.



Сохраните документ с помощью команды на «Главной» вкладке: «Закрыть и загрузить в … — Таблица — Имеющийся лист — — укажите ячейку, с которой должна начаться новая таблица — ОК — Загрузить».



Итог: таблицы до сравнения и объединенная сводка с готовыми результатами для анализа.


Плюсы:

исключены ошибки по невнимательности, вам нужно только указать, что с чем сравнивать и что вывести в вывод;

надстройка работает со множеством форматов и различными источниками данных.

Минусы:

пока не обнаружено =)

Надеюсь, методы, о которых я рассказал, пригодятся вам в работе и сделают процесс сравнения данных проще и легче. Поделитесь в комментариях способами сопоставления, которыми пользуетесь вы.

Этот инструмент может взять 2 файла CSV и сравнить их. Приятно то, что он может производить сравнение, даже если записи двух файлов не отсортированы в одном порядке или поля не расположены в одном порядке.

Таким образом, следующие 2 файла приведут к успешному сравнению.

Я ищу то же самое из командной строки с одним отличием: я бы хотел, чтобы сравнение выполнялось только в одном направлении, т.е. если File2.csv выглядит следующим образом (подмножество File1.csv) , сравнение должно пройти

Меня не особо волнует, будет ли он на каком-то языке программирования, в специальном инструменте cli или в сценарии оболочки (например, с использованием awk). У меня есть некоторый опыт работы с Java и Groovy, но я хотел бы указать на какое-то начальное направление.

3 ответа

Могу предложить решение на Python:

На самом деле это немного более подробно, чем необходимо в Python (но легче для понимания); Лично я бы использовал выражение генератора:

Если вы можете позволить себе сравнение без учета регистра и если в File2.csv нет дубликатов, которые должны быть сопоставлены в File1.csv, и если File1.csv не содержит \\ или \" , тогда все, что вам нужно, это простая команда FINDSTR.

Следующее будет перечислять строки в File2.csv, которые не появляются в File1.csv:

Если все, что вам нужно, это указать, является ли File1.csv надмножеством File2.csv, тогда

Поиск не должен быть нечувствительным к регистру, за исключением неприятной ошибки FINDSTR: он может не найти совпадений при наличии нескольких чувствительных к регистру буквальных строк поиска различного размера. Опция без учета регистра позволяет избежать ошибки. См. Почему этот пример FINDSTR с несколькими буквальными строками поиска не находит совпадения? для получения дополнительной информации.

Поиск не будет работать должным образом, если File2.csv содержит \\ или \" , потому что FINDSTR будет рассматривать их как \ и " соответственно. См. Какие недокументированные функции и ограничения команды Windows FINDSTR? для получения дополнительной информации. В принятом ответе есть разделы, описывающие escape-последовательности FINDSTR примерно на полпути.

Вы можете взглянуть на q - Text as a Database, который позволяет выполнять SQL непосредственно для файлов csv, включая присоединяется. Это позволит легко выполнять сравнение и многое другое, например, сопоставление определенных столбцов на предмет равенства и получение определенных столбцов из строк, которые не совпадают, и т. Д.

Полное раскрытие информации - это мой собственный инструмент с открытым исходным кодом.

Мне нужно сравнить два файла csv в windows7. Как я могу приступить к достижению этого? Я хочу увидеть различия в обоих файлах, например, мы можем использовать tkdiff в Linux.

3 ответа

У меня есть два файла csv: ipaddress,port 10.140.11.1,80 10.140.11.2,80 ipaddress,port 10.140.11.1,80 10.140.11.2,8008 Вопрос в том, как сравнить файлы в powershell. Я уже пробовал это: $file1 = import-csv csvfile1.csv $file2 = import-csv csvfile2.csv Compare-Object $file1 $file2 -IncludeEqual.

Я должен написать vbscript, чтобы сравнить два файла csv, Оба файла csv содержат следующий формат данных: File1.csv DBNane UserGroup Path Access DB_1 Dev_II DB/Source/Projects Read/Write DB_2 Test_I DB/Source/Doc Read File2.csv DBNane UserGroup Path Access DB_1 Dev_II DB/Source/Projects Read DB_2.

  • Нажмите Windows + R ярлык, чтобы открыть windows' Выполнить приглашение
  • Введите cmd и нажмите Enter , чтобы открыть окно DOS terminal cmd
  • Измените текущий путь, выполнив команду cd C:\path\to\your\directory , чтобы добраться до расположения двух файлов CSV

Совет : Чтобы вставить скопированный путь из буфера обмена в окно DOS terminal cmd, вы можете либо (1) щелкнуть правой кнопкой мыши на окне terminal, либо (2) нажать Shift + Insert .

  • Наконец, чтобы сравнить два файла, запустите 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 > diffs.csv"

Кроме того, я нашел findstr гораздо более точным, а вывод более читаемым, чем fc .


ОБНОВЛЕНИЕ
Это хорошо работает с файлами 'smaller'. Вы можете получить ошибку out of memory в больших файлах. В этом случае мне пришлось обратиться к Python и фреймам данных. Просто дружеское предупреждение .

Я сделал это сегодня.

Допустим, у нас есть 2 csv файлов X и Y

X, имеющие столбцы a, b, c
Y, имеющий столбцы a, b, c

Строки расположены не в одном порядке и разбросаны по файлам csv.

Я импортировал их оба в свой лист excel. Я отсортировал их сначала по столбцу c, затем по столбцу в,а затем по столбцу а. Вы можете идти в любом порядке, который вам нравится.

Сравните отсортированные файлы с помощью плагина сравнения notepad++/Beyond Compare.

Похожие вопросы:

Я должен сравнить два файла csv размером 2-3 GB каждый, содержащихся в платформе Windows. Я попытался поместить первый из них в HashMap, чтобы сравнить его со вторым, но результат (как и ожидалось).

У меня есть два файла csv , я хочу сравнить оба файла и найти разницу. Он содержит идентификатор пользователя Я попробовал с compare-object, diff но не смог добиться. любить AD_Users.csv.

у меня есть два файла csv,которые имеют три поля(длина,ширина, высота). значения длины и ширины одинаковы в двух files.for некоторых случаях значение высоты отличается между этими файлами. я хочу.

У меня есть два файла csv: ipaddress,port 10.140.11.1,80 10.140.11.2,80 ipaddress,port 10.140.11.1,80 10.140.11.2,8008 Вопрос в том, как сравнить файлы в powershell. Я уже пробовал это: $file1 =.

Я должен написать vbscript, чтобы сравнить два файла csv, Оба файла csv содержат следующий формат данных: File1.csv DBNane UserGroup Path Access DB_1 Dev_II DB/Source/Projects Read/Write DB_2 Test_I.

Итак, у меня есть два файла csv, которые я хочу сравнить. Каждый файл может быть размером до 20 Мб. Каждая строка имеет ключ, за которым следуют данные, так что ключ, данные Но затем данные также.

Я хочу сравнить два файла CSV. Если есть разница в конкретной ячейке (например, 5-я строка и 3-й столбец), то дайте ей красный цвет. Я могу сравнить два файла но не могу дать красный цвет разностной.

Я хочу сравнить два файла csv и распечатать различия в файле. В настоящее время я использую приведенный ниже код для удаления строки. Могу ли я изменить этот код так, чтобы он сравнивал два файла.

Я пытаюсь сравнить два файла csv, чтобы найти общие значения в столбце 1. import csv f_d1 = open('test1.csv') f_d2 = open('test2.csv') f1_csv = csv.reader(f_d1) f2_csv = csv.reader(f_d2) for x,y in.

У меня есть два отдельных файла CSV, один со столбцами ABCD. и один со столбцами ABD. , и мне нужен способ сравнить различия в соответствующих столбцах. Я попробовал использовать Beyond Compare.

Во всяком случае, у меня есть два файла csv; один с двумя столбцами, один с 4. Мне нужно сравнить один столбец от каждого из них с помощью powershell. Я думал, что понял, но когда я сравнил свои результаты, он возвращается как ложный, когда я знаю, что это должно быть правдой. Вот что у меня есть до сих пор:

Мне пришлось указать заголовки для первого файла, потому что у него его нет. Что странно, так это то, что я могу вызывать каждую переменную, чтобы увидеть, что она держит, и в итоге они получают одну и ту же информацию, но по какой-то причине все же появляются как ложные. Это происходит, даже если есть только одна строка (не считая строки заголовка).

Я начал разбирать их как массивы, но не был уверен, что это было правильно. Важно то, что я сравниваю row1 первого файла с row1 второго файла. Я не могу просто сделать простой -match или -contains.

EDIT: Одна из неприятных вещей заключается в том, что переменные, похоже, также содержат строку заголовка. Когда я вызываю каждый, отображается заголовок. Но если я вызываю обе переменные, я вижу только один заголовок, но две строки.

Я просто добавил следующую проверку, но получаю те же результаты (False для всего):

Используя Латкин ответ от сюда я думаю, что это даст вам результирующий набор, который вы ищете. Согласно комментарию латыни, сравнение свойств является излишним для ваших целей, но я оставил его, поскольку это хорошо знать. Кроме того, заголовок указан даже для csv с заголовками, чтобы предотвратить включение строки заголовка в сравнение.

emp.csv

empids.csv

PS C: \> $ newemp = Import-csv C:\scripts\emp.csv
PS C: \> $ ps = Import-CSV C:\scripts\empids.csv
PS C: \> $ results = Сравнить-Object -ReferenceObject $ newemp -DifferenceObject $ ps | foreach

Показывает разностные объекты, которые не находятся в $ ps

Я не уверен, что это то, что вы ищете, но я использовал PowerShell для форматирования CSV для себя.

так выглядит файл excel csv:

и сценарий выводит это:

поэтому в основном сценарий принимает каждый номер под столбцом Name, а затем проверяет его на столбе prod. Если номер там, то он не отобразит еще, он отобразит это число.

Читайте также: