Описание тега difflib
Модуль python предоставляет инструменты для вычислений и работы с различиями между последовательностями, что особенно полезно для сравнения текста. Включает функции, которые создают отчеты с использованием нескольких общих форматов различий.
2
ответа
ImportError: нет модуля с именем difflib_data
Я работаю с Python 3.4 в Windows 7. Пытаясь сравнить два текстовых файла, и я хочу сообщить о различиях в них с помощью difflib. Ниже приведен код, использующий: import difflib from difflib_data import * with open("s1.txt") as f, open("s2.txt") as g…
17 сен '14 в 06:40
0
ответов
Как сравнить два заголовка (строки), чтобы увидеть, относятся ли они к одной книге?
Я пытаюсь сравнить два названия (из разных источников) одной и той же книги, для каждой книги в огромном списке книг, чтобы увидеть, относятся ли они к одной и той же книге или нет. Вот небольшой фон. Я работаю стажером в библиотеке. Персонал здесь …
15 июл '16 в 09:37
1
ответ
Программно выяснить, эквивалентны ли переведенные имена
Я пытаюсь увидеть, эквивалентны ли два переведенных имени. Иногда перевод будет иметь имена, упорядоченные по-разному. Например: >>> import difflib >>> a = 'Yuk-shing Au' >>> b = 'Au Yuk Sing' >>> seq=difflib.Sequ…
14 мар '15 в 20:10
1
ответ
Как получить различия в списке
Ниже приведены два списка кортежей: text1_lines = [('a','1'), ('b', '2'), ('c','3')] text2_lines = [('a','4'), ('z', '5'), ('c','6')] Я могу получить различия с кодом ниже d = difflib.Differ() diff = d.compare(text1_lines,text2_lines) diff_list = '\…
15 апр '17 в 06:24
2
ответа
Есть ли альтернатива difflib.get_close_matches(), которая возвращает индексы (позиции списка) вместо списка str?
Я хочу использовать что-то вроде difflib.get_close_matches но вместо самых похожих строк я бы хотел получить индексы (то есть положение в списке). Индексы списка являются более гибкими, потому что можно связать индекс с другими структурами данных (с…
14 июн '18 в 15:38
1
ответ
Вывод pandas csv имеет [''] при добавлении аргумента отсечки
Я успешно добавил опцию отсечения для get_close_matches в Pandas. По какой-то причине, когда я добавляю cutoff=0,7, когда он выводится на мой CSV, он читается как ['Name']. Когда у него не было аргумента обрезания, он просто выводил совпадение без […
20 апр '18 в 15:47
0
ответов
Игнорирование пробелов в разнице в питоне
Есть ли элегантный способ игнорировать пробелы в diff в python (используя difflib или любой другой модуль)? Может быть, я что-то пропустил, но я просмотрел документацию и не смог найти какой-либо явной поддержки для этого в difflib. Мое текущее реше…
05 авг '13 в 18:01
1
ответ
Возможно ли, что SequenceMatcher в difflib Python мог бы предоставить более эффективный способ для вычисления расстояния Левенштейна?
Вот учебный пример общего алгоритма для вычисления расстояния Левенштейна (я взял из веб-сайта Магнуса Хетланда): def levenshtein(a,b): "Calculates the Levenshtein distance between a and b." n, m = len(a), len(b) if n > m: # Make sure n <= m, …
30 сен '12 в 06:30
1
ответ
Разные строки между двумя файлами, когда одна строка содержит конечные пробелы (Python, difflib)
Я хочу сравнить два текстовых файла в Python и вернуть строки, которые отличаются. Моя попытка использует difflib, но я открыт для других предложений. Мне нужно получить строки, которые отличаются, а также строки, которые появляются в одном файле, н…
07 дек '17 в 05:28
1
ответ
Python Diff две многострочные строки, такие как GitHub
Я хочу получить разностный вывод, подобный коммит-представлению github. И я попробовал это: import difflib first = """ def baz """ second = """ deff ba bar foo """ diff = '' for text in difflib.unified_diff(first, second): for prefix in ('---', '+++…
03 июн '17 в 19:57
3
ответа
Получить близкие совпадения строк с учетом удаления - python
Есть ли способ позволить difflib рассмотреть удаление при сопоставлении строк? Я попробовал difflib.get_close_matches() но он не учитывает строки с меньшей длиной в результатах близких совпадений. Например from difflib import get_close_matches as gc…
28 окт '13 в 14:38
2
ответа
Слияние фреймов данных
Я боролся с этой проблемой весь день. У меня есть два кадра данных следующим образом: Dataframe 1 - Рекламные щиты Фрейм данных 2 Я хотел бы объединить Dataframe 2 с Dataframe 1, основанным на песне, чтобы получить фрейм данных с SongId, Song, Rank …
28 май '18 в 16:14
2
ответа
Как использовать SequenceMatcher, чтобы найти сходство между двумя строками?
import difflib a='abcd' b='ab123' seq=difflib.SequenceMatcher(a=a.lower(),b=b.lower()) seq=difflib.SequenceMatcher(a,b) d=seq.ratio()*100 print d Я использовал приведенный выше код, но полученный результат равен 0.0. Как я могу получить правильный о…
26 янв '11 в 07:10
6
ответов
Генерация и применение различий в Python
Есть ли в Python "готовый" способ генерировать список различий между двумя текстами, а затем применять этот diff к одному файлу, чтобы позже получить другой? Я хочу сохранить историю изменений текста, но не хочу сохранять весь текст для каждой верси…
21 фев '10 в 21:13
0
ответов
Модуль Python Difflib игнорирует пробелы (HTMLDiff)
Я использую модуль Difflib из python для сравнения двух разных файлов, но я хочу, чтобы он игнорировал пробелы и табуляции. API-Doc не работает для меня, и я очень старался, чтобы он работал, но ничего не получалось. Я использую HTMLDiff: difference…
07 дек '18 в 13:23
3
ответа
Почему я получаю случайный элемент с difflib.ndiff?
Минимальный рабочий пример: In [3]: a = ('r1', 'r2', 'r11', 'r6', 'r1', 'r2', 'r7', 'r8') In [4]: b = ('r1', 'r2', 'r1', 'r6', 'r1', 'r2', 'r7', 'r8') In [5]: list(difflib.ndiff(a, b)) Out[5]: [' r1', ' r2', '- r11', '? -\n', '+ r1', ' r6', ' r1', '…
02 мар '19 в 16:12
1
ответ
get_matching_blocks() игнорирует некоторые блоки, если сначала совпадает с блоками, которые появятся позже
Вот код Python - import difflib x = "abxcd" y= "cdab" s = difflib.SequenceMatcher(None, x, y) for block in s.get_matching_blocks(): a=block[0:] if a[2]>0: m=a[0] n=a[0]+a[2] print (x[m:n]) Он печатает только "ab" и игнорирует "cd". Но я хочу, что…
16 янв '19 в 11:24
1
ответ
Как получить отредактированный результат, добавив похожие строки из "ndiff"?
Я хочу обновить file1 из file2.Я хочу добавить строки, которые похожи в обоих файлах. Я получил результат сравнения с помощью difflib.ndiff(). Как добавить строки, которые были изменены в одиночку? import difflib file1='file1.txt' file2='file2.txt' …
05 фев '19 в 11:32
2
ответа
Сравнить строку в двух разных файлах python
Мне нужна ваша помощь, потому что после долгих исследований я не нашел подходящего ответа на свои проблемы. У меня есть 2 файла, которые содержат некоторую информацию. Некоторые из этой информации похожи другие отличаются. Первый файл отсортирован, …
13 окт '15 в 13:13
1
ответ
Python Asyncio с difflib замедляет ползти
У меня есть скрипт, который асинхронно загружает несколько URL-адресов, а затем постоянно отслеживает их изменения с помощью difflib import asyncio import difflib import aiohttp urls = ['http://www.nytimes.com/', 'http://www.time.com/', 'http://www.…
11 ноя '16 в 08:21