{"id":42832,"date":"2026-06-25T09:01:49","date_gmt":"2026-06-25T06:01:49","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/"},"modified":"2026-06-25T09:01:49","modified_gmt":"2026-06-25T06:01:49","slug":"duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/","title":{"rendered":"D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme"},"content":{"rendered":"<h2>D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme<\/h2>\n<p>Veri i\u015fleme d\u00fcnyas\u0131nda, d\u00fcz metinleri yap\u0131land\u0131r\u0131lm\u0131\u015f formatlara d\u00f6n\u00fc\u015ft\u00fcrmek s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir ihtiya\u00e7t\u0131r. Peki, bu d\u00f6n\u00fc\u015f\u00fcm\u00fc nas\u0131l kolayla\u015ft\u0131rabiliriz?<\/p>\n<h2>Neden D\u00fcz Metni Yap\u0131land\u0131r\u0131lm\u0131\u015f Verilere D\u00f6n\u00fc\u015ft\u00fcrmeliyiz?<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz dijital ekosisteminde, verinin ham haliyle i\u015flenmesi genellikle yetersiz kal\u0131r. Bir\u00e7ok uygulama, web sitesi veya veritaban\u0131, veriyi belirli bir yap\u0131da bekler. \u00d6rne\u011fin, bir web uygulamas\u0131nda kullan\u0131c\u0131lar\u0131n girdi\u011fi bir dizi ismi, programatik olarak i\u015fleyebilmek i\u00e7in onlar\u0131 bir JavaScript dizisine d\u00f6n\u00fc\u015ft\u00fcrmeniz gerekebilir. Benzer \u015fekilde, bir veri analizi projesinde, bir metin dosyas\u0131ndaki say\u0131sal de\u011ferleri Python&#8217;da kullanmak i\u00e7in bir listeye \u00e7evirmeniz gerekebilir. Dahas\u0131, farkl\u0131 sistemler aras\u0131nda veri al\u0131\u015fveri\u015fi yaparken JSON format\u0131 vazge\u00e7ilmezdir. Veritaban\u0131 sorgular\u0131nda, belirli bir de\u011fer k\u00fcmesini aramak i\u00e7in SQL&#8217;deki <code>IN<\/code> yan c\u00fcmlesi kullan\u0131l\u0131r ve bu k\u00fcme de genellikle d\u00fcz metinden t\u00fcretilir. Bu d\u00f6n\u00fc\u015f\u00fcm s\u00fcreci, veri y\u00f6netimi, otomasyon ve verimlilik a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. D\u00fcz metinler, do\u011fas\u0131 gere\u011fi esnek ve okunabilir olsalar da, makine taraf\u0131ndan i\u015flenmeleri zordur. Yap\u0131land\u0131r\u0131lm\u0131\u015f formatlar ise, bilgisayarlar\u0131n veriyi anlamas\u0131n\u0131, i\u015flemesini ve sorgulamas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r. Bu makalede, bu d\u00f6n\u00fc\u015f\u00fcm\u00fcn temel y\u00f6ntemlerini, pratik uygulamalar\u0131n\u0131 ve ger\u00e7ek d\u00fcnya senaryolar\u0131n\u0131 ele alaca\u011f\u0131z.<\/p>\n<h2>Temel Kavramlar: D\u00fcz Metin ve Yap\u0131land\u0131r\u0131lm\u0131\u015f Veri Formatlar\u0131<\/h2>\n<p>Ba\u015flamadan \u00f6nce, temel kavramlar\u0131 netle\u015ftirelim. D\u00fcz metin (plain text), karakterlerden olu\u015fan, herhangi bir bi\u00e7imlendirme (kal\u0131n, italik, font boyutu vb.) i\u00e7ermeyen metin t\u00fcr\u00fcd\u00fcr. Bir metin edit\u00f6r\u00fcnde olu\u015fturulan <code>.txt<\/code> uzant\u0131l\u0131 dosyalar buna \u00f6rnektir. Bu metinler genellikle sat\u0131r sat\u0131r veya belirli bir ay\u0131r\u0131c\u0131 (virg\u00fcl, yeni sat\u0131r, noktal\u0131 virg\u00fcl gibi) ile ayr\u0131lm\u0131\u015f veri par\u00e7ac\u0131klar\u0131 i\u00e7erebilir. Yap\u0131land\u0131r\u0131lm\u0131\u015f veriler ise, belirli bir \u015femaya veya d\u00fczene g\u00f6re organize edilmi\u015f verilerdir. Bu makalede odaklanaca\u011f\u0131m\u0131z yap\u0131land\u0131r\u0131lm\u0131\u015f veri formatlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>JavaScript Dizileri (Arrays):<\/strong> JavaScript&#8217;te, s\u0131ral\u0131 bir veri koleksiyonunu temsil etmek i\u00e7in kullan\u0131l\u0131r. Elemanlar k\u00f6\u015feli parantezler (<code>[]<\/code>) i\u00e7ine al\u0131n\u0131r ve virg\u00fclle ayr\u0131l\u0131r. \u00d6rne\u011fin: <code>[\"elma\", \"armut\", \"muz\"]<\/code>.<\/li>\n<li><strong>Python Listeleri (Lists):<\/strong> Python&#8217;da, JavaScript dizilerine benzer \u015fekilde, s\u0131ral\u0131 ve de\u011fi\u015ftirilebilir bir veri koleksiyonudur. Elemanlar da k\u00f6\u015feli parantezler (<code>[]<\/code>) i\u00e7inde ve virg\u00fclle ayr\u0131l\u0131r. \u00d6rne\u011fin: <code>['elma', 'armut', 'muz']<\/code>.<\/li>\n<li><strong>JSON (JavaScript Object Notation):<\/strong> \u0130nsan taraf\u0131ndan okunabilir ve makine taraf\u0131ndan kolayca ayr\u0131\u015ft\u0131r\u0131labilir bir veri de\u011fi\u015f toku\u015f format\u0131d\u0131r. Genellikle anahtar-de\u011fer \u00e7iftleri halinde veriyi temsil eder. \u00d6rne\u011fin: <code>{\"meyveler\": [\"elma\", \"armut\", \"muz\"], \"sayilar\": [1, 2, 3]}<\/code>.<\/li>\n<li><strong>SQL IN Yan C\u00fcmlesi (Clause):<\/strong> SQL veritaban\u0131 sorgular\u0131nda, bir s\u00fctunun belirli bir de\u011fer k\u00fcmesindeki de\u011ferlerden herhangi birine e\u015fit olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin: <code>WHERE sehir IN ('\u0130stanbul', 'Ankara', '\u0130zmir')<\/code>.<\/li>\n<\/ul>\n<p>Bu formatlar\u0131n her biri, veriyi farkl\u0131 ba\u011flamlarda kullanmam\u0131z\u0131 sa\u011flar. D\u00fcz metinden bu yap\u0131land\u0131r\u0131lm\u0131\u015f formatlara ge\u00e7i\u015f yaparken, metindeki verinin nas\u0131l ayr\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 (parsing) ve hangi formata d\u00f6n\u00fc\u015ft\u00fcr\u00fclece\u011fini anlamak \u00f6nemlidir. Ay\u0131r\u0131c\u0131lar (delimiters), yani veriyi birbirinden ay\u0131ran karakterler (\u00f6rne\u011fin, virg\u00fcl, yeni sat\u0131r karakteri <code>\\n<\/code>, noktal\u0131 virg\u00fcl <code>;<\/code>), bu ayr\u0131\u015ft\u0131rma i\u015fleminin temelini olu\u015fturur. Verinin yap\u0131s\u0131n\u0131 do\u011fru anlayarak, d\u00f6n\u00fc\u015f\u00fcm s\u00fcrecini otomatikle\u015ftirebiliriz.<\/p>\n<h2>D\u00fcz Metni JavaScript Dizilerine D\u00f6n\u00fc\u015ft\u00fcrme<\/h2>\n<p>Web geli\u015ftirmede, kullan\u0131c\u0131dan al\u0131nan bir metin girdisini veya bir API&#8217;den gelen veriyi i\u015flemek i\u00e7in JavaScript dizilerine d\u00f6n\u00fc\u015ft\u00fcrmek s\u0131k\u00e7a kar\u015f\u0131m\u0131za \u00e7\u0131kar. En yayg\u0131n senaryo, virg\u00fclle ayr\u0131lm\u0131\u015f veya yeni sat\u0131rlarla ayr\u0131lm\u0131\u015f bir metin listesidir. Diyelim ki bir metin kutusuna a\u015fa\u011f\u0131daki gibi bir isim listesi girildi:<\/p>\n<pre><code>Ali,Veli,Ay\u015fe,Fatma<\/code><\/pre>\n<p>Bu metni bir JavaScript dizisine d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in <code>split()<\/code> metodunu kullanabiliriz. Bu metot, bir dizeyi belirli bir ay\u0131r\u0131c\u0131ya g\u00f6re b\u00f6ler ve bir dizi d\u00f6nd\u00fcr\u00fcr. Virg\u00fclle ayr\u0131lm\u0131\u015f metin i\u00e7in kodumuz \u015f\u00f6yle olacakt\u0131r:<\/p>\n<pre><code>\n    const metinListe = \"Ali,Veli,Ay\u015fe,Fatma\";\n    const isimDizisi = metinListe.split(',');\n    console.log(isimDizisi); \/\/ \u00c7\u0131kt\u0131: [\"Ali\", \"Veli\", \"Ay\u015fe\", \"Fatma\"]\n    <\/code><\/pre>\n<p>E\u011fer metin yeni sat\u0131rlarla ayr\u0131lm\u0131\u015fsa (\u00f6rne\u011fin, bir <code>&lt;textarea&gt;<\/code> etiketinden gelen veri):<\/p>\n<pre><code>\n    Ali\n    Veli\n    Ay\u015fe\n    Fatma\n    <\/code><\/pre>\n<p>Bu durumda ay\u0131r\u0131c\u0131 olarak yeni sat\u0131r karakterini (<code>\\n<\/code>) kullan\u0131r\u0131z:<\/p>\n<pre><code>\n    const metinListe = \"Ali\\nVeli\\nAy\u015fe\\nFatma\";\n    const isimDizisi = metinListe.split('\\n');\n    console.log(isimDizisi); \/\/ \u00c7\u0131kt\u0131: [\"Ali\", \"Veli\", \"Ay\u015fe\", \"Fatma\"]\n    <\/code><\/pre>\n<p>Bazen metinlerde fazladan bo\u015fluklar olabilir. Bu durumda, <code>map()<\/code> metodu ile her bir eleman\u0131n ba\u015f\u0131ndaki ve sonundaki bo\u015fluklar\u0131 temizleyebiliriz:<\/p>\n<pre><code>\n    const metinListe = \"  Ali , Veli,  Ay\u015fe , Fatma  \";\n    const isimDizisi = metinListe.split(',').map(isim => isim.trim());\n    console.log(isimDizisi); \/\/ \u00c7\u0131kt\u0131: [\"Ali\", \"Veli\", \"Ay\u015fe\", \"Fatma\"]\n    <\/code><\/pre>\n<p><code>trim()<\/code> metodu, bir dizenin ba\u015f\u0131ndaki ve sonundaki bo\u015fluklar\u0131 kald\u0131r\u0131r. Bu, kullan\u0131c\u0131dan gelen verinin temiz ve tutarl\u0131 olmas\u0131n\u0131 sa\u011flar. Bu y\u00f6ntem, bir web sayfas\u0131nda kullan\u0131c\u0131lar\u0131n etiketler girmesi, bir \u00fcr\u00fcn listesi olu\u015fturmas\u0131 veya basit bir g\u00f6rev listesi olu\u015fturmas\u0131 gibi bir\u00e7ok senaryoda kullan\u0131labilir. \u00d6rne\u011fin, bir blog yaz\u0131s\u0131na etiket eklerken kullan\u0131c\u0131 virg\u00fclle ay\u0131rarak girebilir ve bu etiketler arka planda bir diziye d\u00f6n\u00fc\u015ft\u00fcr\u00fclerek veritaban\u0131na kaydedilebilir.<\/p>\n<h2>D\u00fcz Metni Python Listelerine D\u00f6n\u00fc\u015ft\u00fcrme<\/h2>\n<p>Veri bilimi, makine \u00f6\u011frenmesi ve genel programlama g\u00f6revlerinde Python&#8217;\u0131n g\u00fcc\u00fc tart\u0131\u015f\u0131lmazd\u0131r. D\u00fcz metinleri Python listelerine d\u00f6n\u00fc\u015ft\u00fcrmek de bu ekosistemde s\u0131k\u00e7a ba\u015fvurulan bir i\u015flemdir. JavaScript&#8217;te oldu\u011fu gibi, Python&#8217;da da <code>split()<\/code> metodu bu i\u015f i\u00e7in kullan\u0131l\u0131r. Bir dosyadan okunan veya bir web iste\u011finden gelen metin verisini ele alal\u0131m:<\/p>\n<pre><code>\n    # Dosya i\u00e7eri\u011fi veya al\u0131nan metin\n    metin_liste = \"elma,armut,muz,\u00e7ilek\"\n    <\/code><\/pre>\n<p>Bu metni bir Python listesine d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in <code>split()<\/code> metodunu virg\u00fcl (<code>,<\/code>) ile kullan\u0131r\u0131z:<\/p>\n<pre><code>\n    meyve_listesi = metin_liste.split(',')\n    print(meyve_listesi)\n    # \u00c7\u0131kt\u0131: ['elma', 'armut', 'muz', '\u00e7ilek']\n    <\/code><\/pre>\n<p>E\u011fer metin yeni sat\u0131rlarla ayr\u0131lm\u0131\u015fsa:<\/p>\n<pre><code>\n    metin_liste_yeni_satir = \"\u0130stanbul\\nAnkara\\n\u0130zmir\\nBursa\"\n    sehirler_listesi = metin_liste_yeni_satir.split('\\n')\n    print(sehirler_listesi)\n    # \u00c7\u0131kt\u0131: ['\u0130stanbul', 'Ankara', '\u0130zmir', 'Bursa']\n    <\/code><\/pre>\n<p>Python&#8217;da da bo\u015fluklar\u0131 temizlemek i\u00e7in <code>strip()<\/code> metodu ve liste anlama (list comprehension) kullan\u0131labilir:<\/p>\n<pre><code>\n    metin_liste_bosluklu = \"  Ali , Veli,  Ay\u015fe , Fatma  \"\n    isimler_listesi = [isim.strip() for isim in metin_liste_bosluklu.split(',')]\n    print(isimler_listesi)\n    # \u00c7\u0131kt\u0131: ['Ali', 'Veli', 'Ay\u015fe', 'Fatma']\n    <\/code><\/pre>\n<p>Bu liste anlama yap\u0131s\u0131, hem <code>split(',')<\/code> i\u015flemini yapar hem de her bir eleman \u00fczerinde <code>strip()<\/code> i\u015flemini uygulayarak daha temiz bir liste elde etmemizi sa\u011flar. Bir di\u011fer yayg\u0131n senaryo, bir dosyadan sat\u0131r sat\u0131r okunan verilerdir. \u00d6rne\u011fin, bir <code>veriler.txt<\/code> dosyas\u0131nda \u015fu sat\u0131rlar bulunsun:<\/p>\n<pre><code>\n    101\n    102\n    103\n    104\n    <\/code><\/pre>\n<p>Bu dosyadaki say\u0131lar\u0131 bir Python listesine d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in:<\/p>\n<pre><code>\n    sayilar_listesi = []\n    with open('veriler.txt', 'r', encoding='utf-8') as f:\n        for satir in f:\n            sayilar_listesi.append(int(satir.strip())) # Say\u0131lar\u0131 integer'a \u00e7eviriyoruz\n    print(sayilar_listesi)\n    # \u00c7\u0131kt\u0131: [101, 102, 103, 104]\n    <\/code><\/pre>\n<p>Burada dikkat edilmesi gereken nokta, dosya okundu\u011funda sat\u0131rlar\u0131n string olarak gelmesidir. E\u011fer say\u0131sal i\u015flemler yap\u0131lacaksa, bunlar\u0131 <code>int()<\/code> veya <code>float()<\/code> gibi fonksiyonlarla uygun veri tipine d\u00f6n\u00fc\u015ft\u00fcrmek gerekir. Bu i\u015flem, \u00f6rne\u011fin bir CSV dosyas\u0131ndan veri okurken, belirli bir s\u00fctundaki de\u011ferleri bir listeye toplamak i\u00e7in kullan\u0131labilir.<\/p>\n<h2>D\u00fcz Metni JSON Format\u0131na D\u00f6n\u00fc\u015ft\u00fcrme<\/h2>\n<p>JSON, web servisleri, konfig\u00fcrasyon dosyalar\u0131 ve veri depolama gibi bir\u00e7ok alanda standart haline gelmi\u015ftir. D\u00fcz metni JSON&#8217;a d\u00f6n\u00fc\u015ft\u00fcrmek, veriyi hem insanlar hem de makineler i\u00e7in daha anlaml\u0131 ve eri\u015filebilir hale getirir. En temel JSON yap\u0131s\u0131 anahtar-de\u011fer \u00e7iftleridir. Diyelim ki bir metin dosyas\u0131nda \u00fcr\u00fcn ad\u0131 ve fiyat\u0131 bilgileri var:<\/p>\n<pre><code>\n    \u00dcr\u00fcn: Laptop,Fiyat: 15000\n    \u00dcr\u00fcn: Klavye,Fiyat: 500\n    \u00dcr\u00fcn: Mouse,Fiyat: 200\n    <\/code><\/pre>\n<p>Bu veriyi bir JavaScript nesnesi (JSON&#8217;a benzer yap\u0131) veya bir JSON dizisi haline getirebiliriz. \u00d6nce JavaScript ile ba\u015flayal\u0131m:<\/p>\n<pre><code>\n    const metinVeri = <code>\u00dcr\u00fcn: Laptop,Fiyat: 15000\n    \u00dcr\u00fcn: Klavye,Fiyat: 500\n    \u00dcr\u00fcn: Mouse,Fiyat: 200<\/code>;\n\n    const urunler = [];\n    metinVeri.split('\\n').forEach(satir => {\n        const parcalar = satir.split(',');\n        const urunAdi = parcalar[0].split(':')[1].trim();\n        const fiyat = parseInt(parcalar[1].split(':')[1].trim());\n        urunler.push({ urun: urunAdi, fiyat: fiyat });\n    });\n\n    const jsonCikti = JSON.stringify(urunler, null, 2); \/\/ null, 2, okunabilir format i\u00e7in girintileme\n    console.log(jsonCikti);\n    \/* \u00c7\u0131kt\u0131:\n    [\n      {\n        \"urun\": \"Laptop\",\n        \"fiyat\": 15000\n      },\n      {\n        \"urun\": \"Klavye\",\n        \"fiyat\": 500\n      },\n      {\n        \"urun\": \"Mouse\",\n        \"fiyat\": 200\n      }\n    ]\n    *\/\n    <\/code><\/pre>\n<p>Burada, her sat\u0131r\u0131 \u00f6nce yeni sat\u0131r karakteriyle, sonra virg\u00fclle ay\u0131r\u0131yoruz. Ard\u0131ndan, her bir anahtar-de\u011fer \u00e7iftini ay\u0131r\u0131p de\u011ferleri temizleyip uygun tiplere (string, integer) d\u00f6n\u00fc\u015ft\u00fcr\u00fcyoruz. Son olarak, elde etti\u011fimiz nesneler dizisini <code>JSON.stringify()<\/code> ile JSON format\u0131na \u00e7eviriyoruz. <code>null, 2<\/code> parametreleri, JSON \u00e7\u0131kt\u0131s\u0131n\u0131 okunabilir hale getirmek i\u00e7in girintileme ekler. Python&#8217;da ise <code>json<\/code> mod\u00fcl\u00fc kullan\u0131l\u0131r:<\/p>\n<pre><code>\n    import json\n\n    metin_veri = \"\"\"\u00dcr\u00fcn: Laptop,Fiyat: 15000\n    \u00dcr\u00fcn: Klavye,Fiyat: 500\n    \u00dcr\u00fcn: Mouse,Fiyat: 200\"\"\"\n\n    urunler = []\n    for satir in metin_veri.split('\\n'):\n        parcalar = satir.split(',')\n        urun_adi = parcalar[0].split(':')[1].strip()\n        fiyat = int(parcalar[1].split(':')[1].strip())\n        urunler.append({\"urun\": urun_adi, \"fiyat\": fiyat})\n\n    json_cikti = json.dumps(urunler, indent=2, ensure_ascii=False) # ensure_ascii=False T\u00fcrk\u00e7e karakterler i\u00e7in\n    print(json_cikti)\n    # \u00c7\u0131kt\u0131 yukar\u0131daki gibidir.\n    <\/code><\/pre>\n<p>Bu i\u015flem, bir web uygulamas\u0131n\u0131n arka ucunda, d\u0131\u015far\u0131dan gelen yap\u0131land\u0131r\u0131lmam\u0131\u015f veriyi i\u015fleyip standart bir JSON format\u0131na d\u00f6n\u00fc\u015ft\u00fcrerek \u00f6n uca g\u00f6ndermesi veya bir veritaban\u0131na kaydetmesi gibi durumlarda \u00e7ok \u00f6nemlidir. \u00d6rne\u011fin, bir e-ticaret sitesinde \u00fcr\u00fcn \u00f6zelliklerini (renk, beden, malzeme vb.) metin olarak al\u0131p, bunlar\u0131 yap\u0131land\u0131r\u0131lm\u0131\u015f bir JSON format\u0131nda saklamak, arama ve filtreleme \u00f6zelliklerini geli\u015ftirmek i\u00e7in kritik bir ad\u0131md\u0131r.<\/p>\n<h2>D\u00fcz Metni SQL IN Yan C\u00fcmlesine D\u00f6n\u00fc\u015ft\u00fcrme<\/h2>\n<p>Veritaban\u0131 sorgular\u0131nda, belirli bir s\u00fctundaki de\u011ferlerin bir listede olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in <code>IN<\/code> yan c\u00fcmlesi kullan\u0131l\u0131r. Bu liste bazen d\u00fcz metin olarak elimizde bulunur. \u00d6rne\u011fin, belirli illerdeki kullan\u0131c\u0131lar\u0131 listelemek istedi\u011fimizi varsayal\u0131m ve iller bir metin olarak \u015f\u00f6yle verilmi\u015f olsun:<\/p>\n<pre><code>\n    \u0130stanbul, Ankara, \u0130zmir\n    <\/code><\/pre>\n<p>Bu metni al\u0131p SQL&#8217;de kullan\u0131labilir bir <code>IN<\/code> yan c\u00fcmlesine d\u00f6n\u00fc\u015ft\u00fcrmek, sorguyu dinamik olarak olu\u015fturmam\u0131z\u0131 sa\u011flar. E\u011fer bu i\u015flemi bir Python beti\u011fi ile yap\u0131yorsak:<\/p>\n<pre><code>\n    iller_metin = \"\u0130stanbul, Ankara, \u0130zmir\"\n    iller_listesi = [il.strip() for il in iller_metin.split(',')]\n\n    # SQL IN yan c\u00fcmlesini olu\u015fturma\n    # String de\u011ferler i\u00e7in t\u0131rnak eklemeyi unutmamal\u0131y\u0131z\n    sql_in_clause = f\"IN ({', '.join(f\"'{il}'\" for il in iller_listesi)})\"\n\n    print(f\"SELECT * FROM kullanicilar WHERE sehir {sql_in_clause};\")\n    # \u00c7\u0131kt\u0131: SELECT * FROM kullanicilar WHERE sehir IN ('\u0130stanbul', 'Ankara', '\u0130zmir');\n    <\/code><\/pre>\n<p>Burada \u00f6nce metni bir listeye \u00e7eviriyoruz. Ard\u0131ndan, <code>join()<\/code> metodu ile listeyi bir string&#8217;e d\u00f6n\u00fc\u015ft\u00fcr\u00fcyoruz. Ancak, SQL&#8217;de string de\u011ferler i\u00e7in tek t\u0131rnak (<code>'<\/code>) kullan\u0131lmas\u0131 gerekti\u011finden, her ilin etraf\u0131na tek t\u0131rnak ekliyoruz. Bu, dinamik SQL sorgular\u0131 olu\u015ftururken g\u00fcvenlik a\u00e7\u0131s\u0131ndan da \u00f6nemlidir, ancak dikkatli olunmal\u0131 ve SQL injection sald\u0131r\u0131lar\u0131na kar\u015f\u0131 \u00f6nlemler al\u0131nmal\u0131d\u0131r (\u00f6rne\u011fin, parametreli sorgular kullanmak).<\/p>\n<p><strong>Vaka Analizi: M\u00fc\u015fteri Sipari\u015flerini Filtreleme<\/strong><\/p>\n<p>Bir e-ticaret firmas\u0131n\u0131n m\u00fc\u015fteri hizmetleri departman\u0131, belirli bir kampanya kapsam\u0131nda belirli sipari\u015f numaralar\u0131na sahip m\u00fc\u015fterilerin sipari\u015flerini listelemek istiyor. Sipari\u015f numaralar\u0131 bir metin dosyas\u0131nda virg\u00fclle ayr\u0131lm\u0131\u015f halde bulunuyor:<\/p>\n<pre><code>\n    100567, 100890, 101234, 100111, 105678\n    <\/code><\/pre>\n<p>Bu sipari\u015f numaralar\u0131n\u0131 al\u0131p, veritaban\u0131ndaki <code>siparisler<\/code> tablosundan ilgili kay\u0131tlar\u0131 \u00e7ekmek i\u00e7in bir SQL sorgusu olu\u015fturulmas\u0131 gerekiyor. Bir Python beti\u011fi bu i\u015fi kolayca yapabilir:<\/p>\n<pre><code>\n    siparis_numaralari_metin = \"100567, 100890, 101234, 100111, 105678\"\n    siparis_listesi = [siparis.strip() for siparis in siparis_numaralari_metin.split(',')]\n\n    # Sipari\u015f numaralar\u0131 say\u0131sal oldu\u011fu i\u00e7in t\u0131rnak eklemeye gerek yok,\n    # ancak veritaban\u0131 \u015femas\u0131na g\u00f6re de\u011fi\u015febilir. E\u011fer VARCHAR ise t\u0131rnak eklenir.\n    # Varsayal\u0131m ki siparis_no bir INT kolonu.\n    sql_in_clause_siparis = f\"IN ({', '.join(siparis_listesi)})\"\n\n    print(f\"SELECT * FROM siparisler WHERE siparis_no {sql_in_clause_siparis};\")\n    # \u00c7\u0131kt\u0131: SELECT * FROM siparisler WHERE siparis_no IN (100567, 100890, 101234, 100111, 105678);\n    <\/code><\/pre>\n<p>Bu yakla\u015f\u0131m, manuel sorgu yazma zahmetini ortadan kald\u0131r\u0131r ve b\u00fcy\u00fck veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken b\u00fcy\u00fck verimlilik sa\u011flar. \u00d6zellikle raporlama veya toplu veri i\u015flemleri gerektiren durumlarda bu otomasyon b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r.<\/p>\n<h2>\u0130leri D\u00fczey Teknikler ve P\u00fcf Noktalar\u0131<\/h2>\n<p>D\u00fcz metni yap\u0131land\u0131r\u0131lm\u0131\u015f verilere d\u00f6n\u00fc\u015ft\u00fcrme s\u00fcreci, basit ay\u0131r\u0131c\u0131lara dayal\u0131 d\u00f6n\u00fc\u015f\u00fcmlerin \u00f6tesine ge\u00e7ebilir. Karma\u015f\u0131k metin yap\u0131lar\u0131, i\u00e7 i\u00e7e ge\u00e7mi\u015f veriler veya farkl\u0131 formatlardaki verileri bir arada i\u015flemek gerekti\u011finde daha geli\u015fmi\u015f tekniklere ihtiya\u00e7 duyulur.<\/p>\n<ul>\n<li><strong>D\u00fczenli \u0130fadeler (Regular Expressions &#8211; Regex):<\/strong> Daha karma\u015f\u0131k desenleri e\u015fle\u015ftirmek ve veriyi \u00e7\u0131karmak i\u00e7in d\u00fczenli ifadeler son derece g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. \u00d6rne\u011fin, bir metinde hem e-posta adreslerini hem de telefon numaralar\u0131n\u0131 bulup ay\u0131klamak istedi\u011finizde regex kullanabilirsiniz.<\/li>\n<li><strong>Hata Y\u00f6netimi (Error Handling):<\/strong> D\u00f6n\u00fc\u015f\u00fcm s\u0131ras\u0131nda beklenmedik verilerle kar\u015f\u0131la\u015fmak olas\u0131d\u0131r. \u00d6rne\u011fin, say\u0131sal bir alana metin girilmesi veya eksik veri olmas\u0131 gibi durumlar i\u00e7in try-except bloklar\u0131 (Python) veya try-catch bloklar\u0131 (JavaScript) kullanarak program\u0131n\u0131z\u0131n \u00e7\u00f6kmesini engelleyebilir ve hatalar\u0131 loglayabilirsiniz.<\/li>\n<li><strong>Karakter Kodlamalar\u0131 (Character Encoding):<\/strong> \u00d6zellikle T\u00fcrk\u00e7e karakterler gibi \u00f6zel karakterler i\u00e7eren metinlerle \u00e7al\u0131\u015f\u0131rken, dosya okuma ve yazma i\u015flemlerinde do\u011fru karakter kodlamas\u0131n\u0131 (genellikle UTF-8) belirtmek \u00f6nemlidir. Aksi takdirde karakterler bozulabilir.<\/li>\n<li><strong>B\u00fcy\u00fck Veri \u0130\u015fleme (Big Data Processing):<\/strong> E\u011fer i\u015fleyece\u011finiz metin dosyalar\u0131 \u00e7ok b\u00fcy\u00fckse (gigabaytlarca), belle\u011fe s\u0131\u011fd\u0131rmak yerine sat\u0131r sat\u0131r veya par\u00e7a par\u00e7a i\u015flemek (streaming) daha verimli olacakt\u0131r. Python&#8217;da <code>pandas<\/code> k\u00fct\u00fcphanesinin <code>read_csv<\/code> fonksiyonu gibi ara\u00e7lar, b\u00fcy\u00fck CSV dosyalar\u0131n\u0131 par\u00e7alar halinde okuyabilir.<\/li>\n<li><strong>Veri Do\u011frulama (Data Validation):<\/strong> D\u00f6n\u00fc\u015ft\u00fcr\u00fclen verinin beklenen formatta ve de\u011fer aral\u0131\u011f\u0131nda olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek, veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc sa\u011flamak a\u00e7\u0131s\u0131ndan kritiktir. \u00d6rne\u011fin, ya\u015f bilgisinin 0 ile 120 aras\u0131nda olmas\u0131 gibi.<\/li>\n<\/ul>\n<p><strong>Ger\u00e7ek D\u00fcnya Senaryosu: Log Dosyas\u0131 Analizi<\/strong><\/p>\n<p>Bir sunucunun log dosyalar\u0131 genellikle d\u00fcz metin format\u0131ndad\u0131r ve her sat\u0131r belirli bir olay\u0131 temsil eder. Bu sat\u0131rlar genellikle zaman damgas\u0131, hata seviyesi (INFO, WARN, ERROR), kaynak mod\u00fcl ve mesaj gibi bilgileri i\u00e7erir. Bu loglar\u0131 analiz ederek sistemdeki sorunlar\u0131 tespit etmek m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<p>\u00d6rne\u011fin, bir log sat\u0131r\u0131 \u015f\u00f6yle g\u00f6r\u00fcnebilir:<\/p>\n<pre><code>\n    2023-10-27 10:30:15 INFO [AuthService] Kullan\u0131c\u0131 'ali.veli' ba\u015far\u0131yla giri\u015f yapt\u0131.\n    2023-10-27 10:31:01 ERROR [PaymentGateway] \u00d6deme al\u0131namad\u0131: Kredi kart\u0131 reddedildi.\n    2023-10-27 10:31:05 WARN [InventoryService] Stokta olmayan \u00fcr\u00fcn i\u00e7in sipari\u015f denemesi.\n    <\/code><\/pre>\n<p>Bu loglar\u0131 ayr\u0131\u015ft\u0131r\u0131p, belirli bir zaman aral\u0131\u011f\u0131ndaki t\u00fcm hata mesajlar\u0131n\u0131 bir listeye toplamak veya belirli bir servisteki uyar\u0131lar\u0131 saymak isteyebilirsiniz. Bu durumda, d\u00fczenli ifadeler (regex) kullanarak her sat\u0131rdan gerekli bilgileri \u00e7\u0131karmak en etkili y\u00f6ntemdir. Python&#8217;da bu, <code>re<\/code> mod\u00fcl\u00fc ile yap\u0131labilir.<\/p>\n<pre><code>\n    import re\n\n    log_verisi = \"\"\"2023-10-27 10:30:15 INFO [AuthService] Kullan\u0131c\u0131 'ali.veli' ba\u015far\u0131yla giri\u015f yapt\u0131.\n    2023-10-27 10:31:01 ERROR [PaymentGateway] \u00d6deme al\u0131namad\u0131: Kredi kart\u0131 reddedildi.\n    2023-10-27 10:31:05 WARN [InventoryService] Stokta olmayan \u00fcr\u00fcn i\u00e7in sipari\u015f denemesi.\"\"\"\n\n    hata_mesajlari = []\n    # Regex deseni: Zaman damgas\u0131, hata seviyesi, servis ad\u0131 ve mesaj\u0131 yakalar\n    log_pattern = re.compile(r\"(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}) (\\w+) \\[(.*?)\\] (.*)\")\n\n    for satir in log_verisi.split('\\n'):\n        eslesme = log_pattern.match(satir)\n        if eslesme:\n            zaman, seviye, servis, mesaj = eslesme.groups()\n            if seviye == \"ERROR\":\n                hata_mesajlari.append({\"zaman\": zaman, \"servis\": servis, \"mesaj\": mesaj})\n\n    print(hata_mesajlari)\n    # \u00c7\u0131kt\u0131: [{'zaman': '2023-10-27 10:31:01', 'servis': 'PaymentGateway', 'mesaj': '\u00d6deme al\u0131namad\u0131: Kredi kart\u0131 reddedildi.'}]\n    <\/code><\/pre>\n<p>Bu t\u00fcr bir analiz, sistem sa\u011fl\u0131\u011f\u0131n\u0131 izlemek, performans sorunlar\u0131n\u0131 gidermek ve g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tespit etmek i\u00e7in hayati \u00f6nem ta\u015f\u0131r. Yap\u0131land\u0131r\u0131lm\u0131\u015f verilere d\u00f6n\u00fc\u015ft\u00fcr\u00fclen loglar, daha sonra g\u00f6rselle\u015ftirme ara\u00e7lar\u0131yla (\u00f6rne\u011fin, Grafana, Kibana) analiz edilerek trendler ve anormallikler daha kolay tespit edilebilir.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>D\u00fcz metni JavaScript dizileri, Python listeleri, JSON veya SQL IN yan c\u00fcmleleri gibi yap\u0131land\u0131r\u0131lm\u0131\u015f formatlara d\u00f6n\u00fc\u015ft\u00fcrmek, veri i\u015fleme ve otomasyonun temel ta\u015flar\u0131ndan biridir. Bu d\u00f6n\u00fc\u015f\u00fcm, veriyi daha anlaml\u0131, i\u015flenebilir ve kullan\u0131\u015fl\u0131 hale getirir. Kulland\u0131\u011f\u0131m\u0131z programlama diline ve verinin yap\u0131s\u0131na g\u00f6re farkl\u0131 y\u00f6ntemler mevcuttur; ancak temel prensip, metindeki ay\u0131r\u0131c\u0131lar\u0131 do\u011fru tespit etmek ve veriyi istenen yap\u0131ya uygun \u015fekilde d\u00f6n\u00fc\u015ft\u00fcrmektir. D\u00fczenli ifadeler gibi ileri d\u00fczey teknikler, daha karma\u015f\u0131k senaryolarda bize yard\u0131mc\u0131 olurken, hata y\u00f6netimi ve veri do\u011frulama gibi pratikler, sa\u011flam ve g\u00fcvenilir \u00e7\u00f6z\u00fcmler olu\u015fturmam\u0131z\u0131 sa\u011flar.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ul>\n<li><strong>Hangi ay\u0131r\u0131c\u0131y\u0131 kullanmal\u0131y\u0131m?<\/strong> Ay\u0131r\u0131c\u0131, verinizin metin i\u00e7inde nas\u0131l ayr\u0131ld\u0131\u011f\u0131n\u0131 belirler. En yayg\u0131n olanlar virg\u00fcl (<code>,<\/code>), yeni sat\u0131r (<code>\\n<\/code>), noktal\u0131 virg\u00fcl (<code>;<\/code>) veya sekme karakteridir (<code>\\t<\/code>). Verinizin yap\u0131s\u0131na bakarak do\u011fru ay\u0131r\u0131c\u0131y\u0131 se\u00e7melisiniz.<\/li>\n<li><strong>Metindeki fazladan bo\u015fluklar\u0131 nas\u0131l temizlerim?<\/strong> JavaScript&#8217;te <code>.trim()<\/code> ve Python&#8217;da <code>.strip()<\/code> metotlar\u0131, bir dizenin ba\u015f\u0131ndaki ve sonundaki bo\u015fluklar\u0131 temizlemek i\u00e7in kullan\u0131l\u0131r. Liste anlama veya <code>.map()<\/code> ile birlikte kullan\u0131ld\u0131\u011f\u0131nda olduk\u00e7a etkilidir.<\/li>\n<li><strong>Say\u0131lar\u0131 metinden d\u00f6n\u00fc\u015ft\u00fcr\u00fcrken neye dikkat etmeliyim?<\/strong> Metinden say\u0131ya d\u00f6n\u00fc\u015ft\u00fcrme yaparken (\u00f6rne\u011fin, <code>int()<\/code> veya <code>parseFloat()<\/code> ile), metnin ger\u00e7ekten ge\u00e7erli bir say\u0131sal ifade i\u00e7erdi\u011finden emin olun. Aksi takdirde hata al\u0131rs\u0131n\u0131z. Hata y\u00f6netimi (try-except) kullanmak bu t\u00fcr durumlar i\u00e7in iyi bir pratiktir.<\/li>\n<li><strong>JSON&#8217;a d\u00f6n\u00fc\u015ft\u00fcr\u00fcrken anahtar isimleri \u00f6nemli mi?<\/strong> Evet, JSON yap\u0131s\u0131 anahtar-de\u011fer \u00e7iftlerinden olu\u015fur. Anahtar isimleri, verinin ne anlama geldi\u011fini belirtir ve genellikle string olarak kullan\u0131l\u0131r. Tutarl\u0131 ve anlaml\u0131 anahtar isimleri se\u00e7mek, JSON verisinin okunabilirli\u011fini art\u0131r\u0131r.<\/li>\n<li><strong>SQL injection sald\u0131r\u0131lar\u0131ndan nas\u0131l korunabilirim?<\/strong> Dinamik SQL sorgular\u0131 olu\u015ftururken, kullan\u0131c\u0131dan al\u0131nan veya metinden t\u00fcretilen de\u011ferleri do\u011frudan sorguya eklemek yerine, parametreli sorgular (prepared statements) kullanmak en g\u00fcvenli yoldur. Bu, de\u011ferlerin sorgu komutlar\u0131ndan ayr\u0131 olarak i\u015flenmesini sa\u011flar.<\/li>\n<\/ul>\n<p>#VeriD\u00f6n\u00fc\u015f\u00fcm\u00fc #Programlama #WebGeli\u015ftirme #Python #JavaScript #JSON #SQL<\/p>\n","protected":false},"excerpt":{"rendered":"Veri i\u015fleme d\u00fcnyas\u0131nda, d\u00fcz metinleri yap\u0131land\u0131r\u0131lm\u0131\u015f formatlara d\u00f6n\u00fc\u015ft\u00fcrmek s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir ihtiya\u00e7t\u0131r. Peki, bu d\u00f6n\u00fc\u015f\u00fcm\u00fc nas\u0131l kolayla\u015ft\u0131rabiliriz?","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1403],"tags":[],"class_list":{"0":"post-42832","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-python","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme\" \/>\n<meta property=\"og:description\" content=\"Veri i\u015fleme d\u00fcnyas\u0131nda, d\u00fcz metinleri yap\u0131land\u0131r\u0131lm\u0131\u015f formatlara d\u00f6n\u00fc\u015ft\u00fcrmek s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir ihtiya\u00e7t\u0131r. Peki, bu d\u00f6n\u00fc\u015f\u00fcm\u00fc nas\u0131l kolayla\u015ft\u0131rabiliriz?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-25T06:01:49+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme\",\"datePublished\":\"2026-06-25T06:01:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/\"},\"wordCount\":2527,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Python\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/\",\"name\":\"D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-06-25T06:01:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/","og_locale":"tr_TR","og_type":"article","og_title":"D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme","og_description":"Veri i\u015fleme d\u00fcnyas\u0131nda, d\u00fcz metinleri yap\u0131land\u0131r\u0131lm\u0131\u015f formatlara d\u00f6n\u00fc\u015ft\u00fcrmek s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir ihtiya\u00e7t\u0131r. Peki, bu d\u00f6n\u00fc\u015f\u00fcm\u00fc nas\u0131l kolayla\u015ft\u0131rabiliriz?","og_url":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-06-25T06:01:49+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"16 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme","datePublished":"2026-06-25T06:01:49+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/"},"wordCount":2527,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Python"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/","url":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/","name":"D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-06-25T06:01:49+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/duz-metni-javascript-dizileri-python-listeleri-json-ve-sql-in-yan-cumlelerine-donusturme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"D\u00fcz Metni JavaScript Dizileri, Python Listeleri, JSON ve SQL IN Yan C\u00fcmlelerine D\u00f6n\u00fc\u015ft\u00fcrme"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/42832","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=42832"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/42832\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=42832"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=42832"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=42832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}