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ı — uygulama akışı
Şema
Kodları metin, miktarı sayı olarak tanımla.
Kurallar
İzin verilen dönüşümü açıkça sınırla.
Yeni dosya
Kaynağı koruyarak temiz çıktıyı yaz.
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 gitBir ü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.
Ş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.
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.


