Hirdetés

Új hozzászólás Aktív témák

  • imibogyo

    veterán

    Lehet nem jó helyen kérdezek, bár szerintem topik-on (PHP, Python, SQL megoldásokra gondolok/számítok, mint lehetséges megoldások a netes kereséseimre alapozva)...

    Az lenne a problémám, hogy van egy sokezer sorból álló vesszővel elválasztott, idézőjelek közötti adatokat tartalmazó CSV állományom mely tele van duplum sorokkal. A sorok mindig azonos számú oszlopból állnak, kivétel ez alól a csillagozás, mely egy új egyedi oszlopba került (esetleg a többi rekordnál segíthet, ha ide, az adott sor tekintetében üres cellába egy egyedi karaktersort teszünk?)...

    Például:
    "Alma","Körte","1989","","","piros","","","<100>","<200>"
    "Alma","Körte","1989","","","piros","","","<100>","<200>"
    "Alma","Körte","1989","","","piros","","","<100>","<200>","****"

    Na most az alap duplumszűrést NP++-ban elvégeztem TextFX-el és a tökéletesen egyforma sorokkal meg is birkózott. Az eredeti 55.000 sorból nagyjából 23.000 maradt. Ez eddig OK. Ez lett az eredmény.

    "Alma","Körte","1989","","","piros","","","<100>","<200>"
    "Alma","Körte","1989","","","piros","","","<100>","<200>","****"

    Viszont ahogy látható vannak még duplikációk bőven, mivel a megmaradt duplum sorok nem 100%-ban egyformák (lásd csillagos jelölés, amire szükségem is lenne a jövőben).

    Megpróbáltam Excellel is az ismétlődéseket eltávolítani, és bár ez látszólag tökéletes munkát végzett, ugyanis minden ilyen 2-es 3-as 4-es ismétlődésből csak 1 maradt, de itt meg más problémába ütköztem. Ez ugyanis a duplum feltételekként megadott oszlopokat jól lekezelte (Alma, 1989, 100 például), viszont ha csak ennyit adtam meg neki feltételnek, akkor hol a csillagozott sor maradt meg az egyformákból, hol nem, vagyis random lett az eredmény (mivel ugye a csillagozás nem volt feltétel). Ez nekem nem jó, mivel a csillagozás ellenőrzöttséget jelent (esetleg mássá át lehet konvertálni, ha az megoldást hozhat). Ha viszont megadtam az Excelnek, hogy figyelje a csillagos oszlopot is, akkor pedig ugyanazt az eredményt kaptam, mint NP++ esetében, mivel ebben az esetben (jogosan) különbözőnek titulálta a sorokat:

    Arra lenne szükségem, hogy a sorokat úgy vonja össze egy valamilyen program, hogy mindig a "leghosszabb" / legtöbb oszlopból álló sort vagyis a csillagozott sort tartsa meg az ismétlődések közül. Jelenleg 8832 ilyen csillagozott rekordom van, amit természetes módon nem szeretnék "elveszíteni", mivel ez 8832 ellenőrzött rekordot jelent. :B

    [ Szerkesztve ]

Új hozzászólás Aktív témák