Yapay Zekâ Araçları

AI ile CSV temizleme planı: Türkçe karakterleri ve ürün kodlarını koruyun

CSV dosyasını yapay zekâ yardımıyla düzenlerken sütunları, ayırıcıyı ve baştaki sıfırları koruyun. Yerelde çalışan Python örneğiyle kontrol raporu üretin.

AI ile CSV temizleme planı: Türkçe karakterleri ve ürün kodlarını koruyun — Şema, Kurallar, Yeni dosya, Karşılaştır
Bu rehber için hazırlanan özgün açıklayıcı şema; uygulama ekran görüntüsü değildir.
GÖRSEL ANLATIM

AI ile CSV temizleme planı — uygulama akışı

1

Şema

Kodları metin, miktarı sayı olarak tanımla.

2

Kurallar

İzin verilen dönüşümü açıkça sınırla.

3

Yeni dosya

Kaynağı koruyarak temiz çıktıyı yaz.

4

Karşılaştır

Satır, kod ve Türkçe karakter kontrolü yap.

Editörün özgün çalışma şeması; bir uygulamanın ekran görüntüsü değildir.

Kısa özet

CSV dosyasını yapay zekâ yardımıyla düzenlerken sütunları, ayırıcıyı ve baştaki sıfırları koruyun. Yerelde çalışan Python örneğiyle kontrol raporu üretin.

Yapay Zekâ Araçları topluluğuna git

Bir ürün listesindeki fazladan boşlukları temizlemek kolay görünür. Ancak aynı işlem ürün kodunun başındaki sıfırı silebilir, ondalık virgülü sütun ayırıcısı sanabilir veya “İstanbul” kelimesini bozabilir. Bu rehberde yapay zekâyı veriyi tahmin eden bir araç olarak değil, temizleme kurallarını hazırlayan yardımcı olarak kullanacağız. Örnek Python kodu yerel dosyada çalışır; verilerinizi haricî bir servise göndermez.

1. Önce veri sözlüğü oluşturun

Her sütunun anlamını ve türünü yazın. urun_kodu metindir; 0012 ile 12 aynı kayıt olmak zorunda değildir. urun_adi metin, adet tam sayı, fiyat ise belirlenmiş sayı biçimidir. Kaynak CSV noktalı virgülle ayrılmışsa bunu not edin. Yapay zekâya küçük ve kişisel bilgi içermeyen bir örnek göstererek yalnızca kuralları önermesini isteyebilirsiniz. “Hataları düzelt” yerine hangi alanın nasıl değişebileceğini belirtmek, istemediğiniz yorumları azaltır.

2. Kaynak dosyayı değişmeden saklayın

Temizleme işlemini yeni bir çıktı dosyasına yazın. İlk denemede bütün katalog yerine birkaç satırlık örnek kullanın. Beklenen değişiklikleri önceden işaretleyin: ürün adının başındaki boşluk silinecek, kod aynı kalacak, boş fiyat tahmin edilmeyecek. Aynı isimli iki ürün farklı model olabilir; yalnızca isim benzerliğine bakarak otomatik birleştirmeyin. Bu yaklaşım, güzel görünen fakat ticari anlamı bozulan bir tabloyu fark etmenizi kolaylaştırır.

3. AI için kural promptu

Aşağıdaki komut, dosyanın içeriğini değiştirmeden önce bir işlem planı üretmek içindir. Modelin önerisini uygulamadan önce veri sözlüğünüzle karşılaştırın.

text
Şu CSV şemasına güvenli bir temizleme planı öner:
Ayırıcı: noktalı virgül. Kodlama: UTF-8.
Sütunlar: urun_kodu (metin), urun_adi (metin), adet (tam sayı).
İzin verilen değişiklik: ürün adı başındaki ve sonundaki boşlukları silmek.
Yasak: kodu sayıya çevirmek, boş değeri tahmin etmek, satır silmek,
aynı adlı ürünleri birleştirmek veya sütun eklemek.
Çıktı: kurallar, kontrol listesi ve belirsiz satırlar için rapor önerisi.
Veriyi düzeltmiş gibi sonuç uydurma.

4. Yerelde çalışan minimal örnek

Python’un csv modülü ayırıcı ve tırnak işleme için kullanılır. Bu örnekte giriş dosyası urunler.csv, çıktı urunler-temiz.csv olur. Kod yalnızca isim kenarlarındaki boşlukları temizler; yinelenen kodları raporlar, satır silmez.

python
import csv
from collections import Counter

with open('urunler.csv', encoding='utf-8-sig', newline='') as f:
    reader = csv.DictReader(f, delimiter=';')
    fields = reader.fieldnames
    if fields != ['urun_kodu', 'urun_adi', 'adet']:
        raise ValueError('Sütun sırası veya adları beklenen şemadan farklı.')
    rows = list(reader)

for row in rows:
    if None in row or any(v is None for v in row.values()):
        raise ValueError('Eksik veya fazla sütun bulunan satır var.')
    row['urun_adi'] = row['urun_adi'].strip()

counts = Counter(row['urun_kodu'] for row in rows)
print('Satır sayısı:', len(rows))
print('Yinelenen kodlar:', [k for k, n in counts.items() if n > 1])

with open('urunler-temiz.csv', 'w', encoding='utf-8-sig', newline='') as f:
    writer = csv.DictWriter(f, fieldnames=fields, delimiter=';')
    writer.writeheader()
    writer.writerows(rows)

5. Dosyayı açarken türleri yeniden kontrol edin

Doğru kaydedilmiş bir CSV, elektronik tablo programında açılırken yeniden yorumlanabilir. Ürün kodlarını metin olarak içeri alın. Microsoft’un UTF-8 belgesi, BOM içeren dosyaların Excel’de normal açılışını açıklıyor; örnekte utf-8-sig seçiminin nedeni budur. Yine de kod türünü kontrol etmek ayrı bir iştir. İlk ve son satırı karşılaştırın, Türkçe harfleri okuyun ve 0012 gibi kodların aynı kaldığını doğrulayın. Dosyanın açılması, tüm verinin doğru yorumlandığı anlamına gelmez.

6. Sayıları ve eksik kayıtları ayrı işlemde ele alın

İsim temizliği başarılı olduktan sonra sayı kontrolüne geçebilirsiniz. Bir sütunda hem “1,25” hem “1.25” bulunuyorsa hangi biçimin kabul edildiğini belirlemeden toplu dönüşüm yapmayın. Boş adet alanını sıfıra çevirmek de ticari bir karar olabilir. Eksik değerleri ayrı rapora çıkarıp veri sahibine teyit ettirin. Yapay zekâ örüntüden mantıklı bir tahmin üretebilir; bu, stok miktarının gerçekten doğru olduğunu göstermez.

7. Teslim raporunu kısa tutun

Son raporda kaynak dosyanın adı, toplam satır sayısı, uygulanan değişiklik ve çözülmeyen sorunlar bulunsun. Örneğin “80 satır korundu, ürün adı kenar boşlukları temizlendi, iki yinelenen kod incelemeye bırakıldı” biçiminde gerçek çalışma sonucunu yazın. Buradaki sayıları kendi işleminizin çıktısıyla değiştirin; örneği rapor gibi kopyalamayın. Temizlenmiş dosyayı uygulamaya yüklemeden önce küçük bir deneme aktarımı yapın. Sorun çıkarsa özgün dosyaya dönebilmeniz için kaynak kopyayı saklayın.

İlgili okumalar

Resmî kaynaklar ve devamı

#CSV#Python#veri temizleme#Excel