Skocz do zawartości

[prywata] Porównanie dwóch list tekstowych


ilgesu

Rekomendowane odpowiedzi

Hej,

mam takie pytanie - jak w prosty sposób przefiltrować sobie dwie listy tekstowe?

Zakupiłem sobie niedawno pewną listę, która posiada 10 tysięcy wierszy (adresów www), ale posiadam także swoją z około 6 tysiącami wierszów. Chciałbym porównać je w taki sposób, aby druga lista zostala wyczyszczona z wierszy występujących na pierwszej liście, bądź chociaż wskazała powtarzające się adresy ;)

Z góry dzięki za pomoc.

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chodzi o wskazanie różnic, to wystarczy programik WinDiff (https://www.grigsoft.com/download-windiff.htm). Trzeba tylko posortować obie listy... Bardzo fajnie pokazuje różnice między dwoma dowolnymi plikami.

Potrzebujesz nietypowy pendrive? Tylko teraz pendrive 8GB od Bone w tak dobrej cenie. Zapraszamy.

Kosmetyka aut - auto detailing Łódź

Odnośnik do komentarza
Udostępnij na innych stronach

Wklej obydwie listy w Excelu jedna pod drugą. Nie wiem jakiej wersji używasz, ale zaznacz pierwszą komórkę, wybierz zakładkę Dane i w Sortowanie i i filtrowanie kliknij Zaawansowane i zaznacz Tylko unikatowe rekordy. W starszych wersjach Excela poszukaj czegoś z filtrowaniem. Powodzenia :)

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki wielkie, ale wszystkie sposoby mają jedną wadę. Chciałem, wyczyścić drugą liste z rekordów w pierwszej, a nie łączyć je w jedną. To wszystko dlatego, że ta zakupiona musi być jeszcze przejechana paroma narzędziami i przejrzana ręcznie, więc nie chcę mieć w niej niczego z mojej listy.

Ogólnie chodzi o to, żeby nie tracić czasu na adresy będące już w mojej liście i je usunąć z drugiej (bo są dobre i przemoderowane), ale nie łączyć jeszcze z moją listą, bo musi być jeszcze sprawdzona pod względem jakości.

Odnośnik do komentarza
Udostępnij na innych stronach

Zawsze możesz dodać obie listy do dwóch tabel SQL (tabela1 - Twoja lista, tabela2 - ta druga), a później jechać w pętli adres po adresie

SELECT * FROM tabela2 WHERE adres = adres_z_twojej_listy

potem jeśli dany adres znajdzie, wystarczy tylko

DELETE FROM tabela2 WHERE adres = adres_z_twojej_listy

i tyle... w tabeli tabela2 zostaną tylko te adresy, których nie ma w tebela1. Potem zapisujesz zawartość tebeli do txt i gotowe :)

Potrzebujesz nietypowy pendrive? Tylko teraz pendrive 8GB od Bone w tak dobrej cenie. Zapraszamy.

Kosmetyka aut - auto detailing Łódź

Odnośnik do komentarza
Udostępnij na innych stronach

podeślij mi te listy to ci je odfiltruję ;)

a tak już na poważnie to wrzuć obie listy do 2 arkuszy w excelu, do swojej dodaj w następnej kolumnie "1".

następnie w tej nowej w kolumnie obok daj funkcję "wyszukaj pionowo" i po wszystkim w tej nowej przy wszystkich adresach zdublowanych będziesz miał "1". Następnie sortowanie i już.

N.

www.dobre-precle.pl - 30 dobrych, płatnych presell page - PR 0-3

Wiadomości Sportowe - Subiektywne felietony o sporcie

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli masz to w dwóch plikach, gdzie każdy adres jest w oddzielnej linii, to coś takiego(w Pythonie) wystarczy:

#!/usr/bin/env python
adresy1=[linia.strip('\n') for linia in open('plik1.txt','r')] //plik z większą liczbą adresów
adresy2=[linia.strip('\n') for linia in open('plik2.txt','r')]
wynik=[]
for adres in adresy1:
dubel=False
for adres2 in adresy2:
	if adres1==adres2:
		dubel=True
if not dubel:
	wynik.append(adres1)

out=open('unikalne.txt','w')
out.writelines(wynik)
out.close()

Może i chodziłoby to chwilę, ale działa ;)

E:

O, i jest to dokładnie implementacja tego, co napisał jacekplacek :D

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności