Pang-alis ng Ulit sa CSV

[ CSV NA WALANG ULIT ]
email,name,phone,city [email protected],Juan Cruz,09175551234,Cebu [email protected],Ana Reyes,09281234567,Davao [email protected],Mark Santos,09171112222,Cebu
5 rows in · 3 kept · 2 removed
Rows in5
Kept3
Natanggal2
Conflicts1
Ihambing sa
[ ANO ANG NAGTUGMA ]
[email protected]hanay 2, 4 · natira 2
[email protected]hanay 3, 6 · natira 3salungatan
1 group of rows matched on the key columns but differ somewhere else, so that group is not really a duplicate — they are two records about one thing, holding different values. Keeping the first one throws the other away without anybody reading it. They are listed below by row number; reconcile them by hand before you rely on this.
Rows were compared on email only. Everything outside those columns was ignored when deciding what counts as the same row — which is what makes a key useful and is also how a row with real data in it gets dropped.
Values were compared after trimming the ends, ignoring case. The original text is kept in the output — only the comparison was relaxed.
[ ANO ITO ]

Hindi katotohanan ang “paulit-ulit” — desisyon ito. Ang Juan Cruz, juan cruz at Juan  Cruz  ay tatlong string, isang tao, at posibleng tatlong customer, depende sa pinanggalingan ng file.

Ang kagamitang naghahambing ng hilaw na teksto ay walang mahahanap sa tatlo. Ang naglilinis nang husto ay pinagsasama ang mga taong magkaiba talaga. Walang tamang sagot sa pangkalahatan, kaya naaabot dito ang dalawa at sinasabi kung alin ang nagbigay ng bilang.

Pero ang mas mahalagang bagay ay hindi ang bilang kundi ang salungatan.

Kapag nagtugma ang dalawang hanay sa key at nagkaiba sa labas nito — isang email, dalawang numero ng telepono — hindi iyon paulit-ulit. Dalawang talaan iyon tungkol sa iisang bagay, at ang pagtatago sa una ay pagpupunas ng barya na pinagmumukhang patakaran. Nakalista ang bawat ganoong pangkat ayon sa numero ng hanay, para tao ang pumili.

Walang tahimik na naaalis. Nakatala ang bawat naalis na hanay sa ilalim ng pangkat na pinagmulan nito.

[ MGA TANONG ]

Umaakyat ba kahit saan ang spreadsheet ko?

Hindi. Walang upload at walang file picker — ipinapaste mo ang mga hanay at sa browser mo mismo nagaganap ang trabaho, sa sariling calculation engine ng site na ito. Walang ipinapadala, itinatala o itinatago.

Bakit hindi nito nahanap ang ulit na nakikita ko?

Halos laging dahil sa paraan ng paghahambing. Ang espasyo sa dulo, ang malaking titik o ang pangalawang espasyo sa loob ng pangalan ay gumagawang magkaibang teksto ang dalawang hanay, at sa karaniwang setting ay ang unang dalawa lamang ang hindi pinapansin. Ang tatlong switch ang nagpapasya nito, at nagbabago ang bilang kasama nila — at iyon ang totoong bersiyon, dahil walang setting na tama sa lahat ng file.

Ano ba talaga ang ginagawa ng pagpili ng key column?

Idinideklara nito na ang dalawang hanay na iisa ang email — o iisa ang id, o iisa ang pangalan at lungsod nang magkasama — ay iisang hanay, anuman ang pagkakaiba sa iba. Iyon ang makapangyarihang setting at ang mapanganib: hindi na tinitingnan ang lahat ng nasa labas ng key, kaya ang hanay na may taglay na numero ng telepono na wala sa iba ay maaaring maalis dahil nagtugma ito sa column na walang bumasa.

Ano ang salungatan?

Isang pangkat ng hanay na nagtugma sa key at nagkaiba sa ibang lugar. Hindi iyon paulit-ulit — dalawang talaan iyon tungkol sa iisang bagay na magkaiba ang taglay na halaga, at ang pagtatago sa una ay pagpupunas ng barya na pinagmumukhang patakaran. Nakalista sila ayon sa numero ng hanay para maayos mo sila nang manu-mano, at iyon ang isang trabahong sinasadyang hindi gagawin ng kagamitang ito para sa iyo.

Bakit nakalista ang bawat nagtugmang pangkat at hindi bilang lang?

Dahil ang pang-alis ng ulit na sumasagot lamang ng mas maliit na file ay walang ibinibigay na paraan para tingnan kung tama ang ginawa nito, at ang pagkabigong mahalaga sa iyo — ang hanay na dapat sana ay nanatili — ay walang iniiwang bakas. Nakalista ang bawat pangkat kasama ang numero ng hanay at kung alin ang natira, para masuri ang lumabas sa halip na pagkatiwalaan lamang.

Mahalaga ba kung una o huli ang itatago?

Kapag lang magkaiba ang mga hanay, at iyon mismo ang pagkakataong minamarkahan ito ng pahina bilang salungatan. Sa magkatulad na hanay, wala itong ipinagkaiba. Kapag mahalaga ito, ang huli ang karaniwang mas bagong talaan at ang una ang karaniwang orihinal — pero hindi masasabi ng file kung alin, kaya hindi nagkukunwaring alam ng kagamitan.

May nagbago ba sa mga hanay na natira?

Wala. Isinusulat pabalik ang mga halaga nang eksakto tulad ng pagkabasa, kasama ang espasyo at malaking titik na hindi pinansin ng paghahambing. Ibinabalik ang panipi kung saan ito hinihingi ng RFC 4180 at inaalis kung saan hindi, kaya ang field na may panipi nang walang dahilan ay babalik na walang panipi — pareho ang halagang mababasa sa lumabas alinman doon.

Bakit hindi kailanman nagiging ulit ang hanay na mali ang bilang ng field?

Dahil ang maikli o mahabang hanay ay inihahambing bilang kung ano ito, at iba ang bilang ng taglay nitong halaga kaysa sa bawat ibang hanay, kaya hindi ito kailanman makakatugma sa isa. Karaniwan iyong delimiter sa loob ng field na walang panipi, na nag-uusog sa lahat ng kasunod nito. Nakalista ang mga hanay na iyon para maayos mo muna ang panipi.

[ ANG KOMPUTASYON ]
Ilang ulit ang mahahanap sa iisang file
Hilaw na paghahambingpinakakaunti
+ putulin ang dulomas marami
+ huwag pansinin ang lakimas marami pa
+ pagsamahin ang espasyopinakamarami
Key column lamangiba nang tanong
Ang bawat hakbang pababa ay nakakahanap ng mas maraming ulit at nanganganib na pagsamahin ang magkaibang tao. Walang setting na tama sa lahat ng file.
[ BAKIT HINDI KUWIT ANG PANGHAWAK NG KEY ]

Kung pagdurugtungin ng kuwit ang key, ang ["a,b", "c"] at ["a", "b,c"] ay iisang key — dalawang magkaibang hanay na iuulat na magkaulit, at sa pang-alis ng ulit ay ibig sabihin noon ay bubura ng isa. Gumagamit dito ng karakter na hindi maaaring lumitaw sa loob ng field.

[ SUSUNOD ]
50Mga Tool sa LinyaThe same job for lines of plain text
82Pantakip ng Column sa CSVBefore the deduplicated file goes anywhere
63JSON ⇄ CSV ConverterIf the export came out as JSON
48Paghahambing ng TekstoFor differences you cannot see
[ MAHALAGA ]

Nothing you paste is transmitted or stored. Choosing key columns means everything outside them is ignored when deciding what counts as the same row, so a row holding real data can be dropped — read the conflicts before relying on the result. Walang ipinapadala sa mga server namin ang tina-type mo rito — sa browser mo tumatakbo nang buo ang pagkuwenta.