• 27-06-2021, 02:23:03
    #1
    90 gb lık txt dosyası var, dosya içerisinde aynı kelimeler var, ben her kelime yalnızca bir kez geçsin istiyorum çok şey denedim her seferinde memory hatası aldım 90 gblık dosyaya ram yetmiyor

    python kodlarından en son yazdığım bu oldu. Linux python farketmez herhangi bir şekilde çözümü olan var mı bu python kodu aynı şeyleri ekliyor, eklememsi gerekirken nerede hata yaptığımıda bilmiyorum

    not: başta hash falan filan yoktu aynı şeyleri ekliyor diye denemeler yaptımda böyle oldu

    def uniqteVarmi(kelime):
    c = open("C:dosyamozamanhash.txt", errors="ignore")
    varmi = "yok"
    for a, b in enumerate(c):
    if str(hash(str(b).replace("n",""))) == str(hash(str(kelime).replace("n", ""))):
    varmi = "var"
    c.close()
    return varmi
    c.close()
    return varmi

    f = open("F:90gblikdosya.txt",errors="ignore")
    for i, line in enumerate(f):
    if str(uniqteVarmi(str(line).replace("n","")) == "yok"):
    infilem = open("C:dosyamozaman.txt", 'a')
    infilem.write(str(line).replace("n","") +"n")
    infilem.close()

    infilem = open("C:dosyamozamanhash.txt", 'a')
    infilem.write(str(hash(str(line).replace("n",""))) +"n")
    infilem.close()
  • 27-06-2021, 02:31:45
    #2
    Hocam selam dataframe ile yapmayı denediniz mi ?
  • 27-06-2021, 03:37:56
    #3
    Oncelikle filesplitter adinda windows store'da bi uygulama var. Bu programla 10 parcaya bolun. Toplamda 10 dosya oluşsun. Her birini excel ile acip duplicateleri bulun (excel'de bu ozellik var arastiriniz) ve oncelikle tekli dosya icerisindeki duplicateleri silin. Ardindan 10 dosyamiz var bunlari kombinleyin 2'ser sekilde 10.9.8!/ (10-2)! = 90 farkli kombinasyon. Bu sekilde ilerleyerek halledersiniz. Sayilari ram durumuna gore arttirip azaltabilirsiniz.
  • 27-06-2021, 03:40:12
    #4
    Hocam 90 gb dumpu yaniii aklıma bir şey geliyor fakat işinize yarar mı bilmem..

    Özel bir durum olduğu için en azından çevreye yayılmasın diye telegram yada ö.m ile iletişime geçerseniz durumu arz ederim.
  • 27-06-2021, 03:42:54
    #5
    ya da external merge sort olayini arastiriniz, pythonda yazilmis kaynaklar bulunmakta
  • 27-06-2021, 03:50:27
    #6
    sadecemfk adlı üyeden alıntı: mesajı görüntüle
    Hocam 90 gb dumpu yaniii aklıma bir şey geliyor fakat işinize yarar mı bilmem..

    Özel bir durum olduğu için en azından çevreye yayılmasın diye telegram yada ö.m ile iletişime geçerseniz durumu arz ederim.
    Cidden ço merak ettim, bu çevreye yayılmaması gereken konuyu





    bu konunun oldukça basit bir çözümü var.

    Eski bir linux komutudur.

    Örnek içerik;
    Ahmet, mehmet.
    Ahmet Ayşe
    ahmet musafa


    sort elinizdekidosya.txt sonucdosyası.txt | uniq


    sonuç içerik ;

    Akmet, mehmet,ayşe,mustafa
    şeklide olacaktır.

    İyi forumlar dilerim.