Сравнение файлов в python и вывод разницы - PullRequest
0 голосов
/ 30 апреля 2020

Я новичок в python и мне нужна помощь в сравнении двух файлов TXT и выводе их различий. Вот сценарий:

Эти текстовые файлы содержат структуру таблицы базы данных. Мы обычно обновляем базу данных и вносим в нее структурные изменения, поэтому в основном у нас будет пара TXT-файлов - (например) файл Employee.txt (до обновления БД в папке типа C: \ before_upgrade) и файл Employee.txt (после обновления в папке типа C: \ after_upgrade), содержащий структуру таблицы Employee. Employee.txt будет содержать значения Column_Name, DataType, IsNullable, ColumnLength , например:

Emp_Id, bigint, No, null
Emp_F_Name, varchar, Yes, 100
Emp_L_Name, varchar, Yes, 200
IsActive, smallint, No, null

Теперь мне нужно сравнить эти файлы TXT и, в основном, вывести разницу таким образом, чтобы это более понятным для пользователя. Например, если для столбца значение IsNullable изменяется с Да на Нет, то мы выводим что-то вроде

" для Column_name: Emp_L_Name, поле IsNullable изменено на NO "

ИЛИ если добавлен новый столбец

" Добавлен новый столбец XYZ "

ИЛИ, если столбец удален

" Получен столбец IsActive drop"et c.

В БД несколько таблиц, поэтому нам нужно сравнить несколько пар текстовых файлов. Имена таблиц будут считываться из другого текстового файла (например, table_names.txt).

Заранее спасибо.

1 Ответ

0 голосов
/ 30 апреля 2020

надеюсь, у тебя все хорошо!

Для проверки столбцов предполагается, что первая строка - это имена столбцов, которые можно прочитать из файла, разделить запятыми и преобразовать в набор. Затем просто используйте set разность, чтобы узнать, что было отброшено, а что добавлено.

Для проверки строк прочитайте оба файла построчно и разделите запятыми. Затем для каждого общего столбца проверьте, изменилось ли значение.

Надеюсь, это поможет! Берегите себя!

...