Farklı iki txt dosyasının kombinasyonu

Dosyaları arka arkaya eklemekten farklı bir niyet var soruda, çapraz çarpım gibi.

hayır binlerce satırdan ibaret

Şu kodun çıktısı nedir, ilk 5 satırı görmek adına:

from itertools import islice

with open("dosya_1.txt") as fh:
    print([*islice(fh, 5)])

ve aynısı dosya_2.txt için de size zahmet.

1 Beğeni

Cevabınız için teşekkür ederim
ama ne yazık ki buda olmadı

yapmak istediğimiz
örneğin masaüstünde 3ad notepad txt dosyası açın
1.txt içine [‘a’, ‘b, ‘c’,‘d’ …] yazın
2.txt içine [‘1’, ‘2’, ‘3’, …] yazın
3.txt boş kalsın sonuç buna yazılacak

  1. txt yazılması istenen bilgi
    [‘a1’,‘a2’,‘a3’,‘b1’,‘b2’,‘b3’,‘c1’,‘c2’,‘c3’,‘d1’,‘d2’,‘d3’]

sıralama önemli yani 1.txt teki bilgi ilk sırada 2.txt deki bilgi son sırada ve bitişik olması gerekmektedir

Bir şey olmayacak ki, önce dosyayı birleştirdik. Sorun dosyanın birleşmesi değil.

Bir sıralama algoritmasını, artık yeni oluşan dosyada kullanabilirsin.

Sadece liste içinde sıralama algoritmaları kullanılmaz. Dosya üzerinde de kullanabilirsin.

Oluşan tek dosyayı, sıralamak hepsi bu.

:slight_smile:

Şimdi işin rengi değişti.

Birincideki veriyi al, ikincideki veriyi al ve iki satırı birleştir.

Ve iki dosyanın boyutu aynı mı?

Hatta bir iki soru daha gerekir,

Bu verilerden bir satırda kaç tane var, ne ile ayrılmış?

Soru basit ama ne istediğini anlayamıyorum.

Evet iki dosyadaki verileri birleştiririz de, enine boyuna dikine, tam olarak her satırda bir veri mi var biraz detay verir misin?

hayır farklı boyutta

birincide 1 milyon
ikincide 10bin
veri var

normal notepad dosyası olduğu için “elma”,“armut”, vs şeklinde tırnak ve virgülle ayrılmış
ve her satır dolunca otomatik alt satıra kaymış

Şu veri kavramında bir anlaşsak.

Bu veriler metin dosyasında, her satırda bir tane olacak şekilde mi, aralarında bir ayıraç virgül veya boşluk var mı?

Sonuçta al alta 1 milyon verinin yanına 10 bin taneyi yazarzak, geriye kalan, 990.000 verinin yanına ne yazacağız?

Sen ne yapacağını biliyorsun da henüz ben anlayamıyorum.

Yani dosyalar 1 satırdan ibaret oluyor…

Sayın Then_Shiffman, Türkçeden Türkçeye tercümen için teşekkür ederim.

Çözüm aklımda.

Ama yetişkin eğitimi ve pedagojik eğitim farklıdır.

Ben kendini ifade ederken sorunu kavraması ve çözümü kendi de bulabilmesi için uğraşıyorum.

Sanırım bunu ifade edemedim.

Bir seferde kodu koyup gitmeden önce adım adım ne istediğini ifade edebilsin.

Seni anlıyorum ama ben yaşlıyım, sabırla tek tek sormayı seviyorum.

Rahatsız ediyorsa yöntem değiştiremem, sonuçta seni de rahatsız etmek istemem.

2 Beğeni

ilk dosyadaki 1.milyon verinin yanın ikinci dosyadaki 10bin verinin 1. yazılacak
sonra yine
ilk dosyadaki 1.milyon verinin yanın ikinci dosyadaki 10bin verinin 2. yazılacak
sonra yine
ilk dosyadaki 1.milyon verinin yanın ikinci dosyadaki 10bin verinin 3. yazılacak
.
.
.
ilk dosyadaki 1.milyon verinin yanın ikinci dosyadaki 10bin verinin 10.000 yazılacak yani amaç bu

ve dediğim gibi her veri “” ve , ile ayrılmış
bunları notepad değiştir komutuyla değiştirebiliriz problem değil

hayır bunu örnek teşkil etmesi açısından yazdım
normal dosya çok sütunlu ve satırlı

Yok, yanlış soruyu birkaç kere sordunuz ondan yazma gereği duydum diğer arkadaş yanıt vermeden; çapraz çarpım olduğunu ilk gönderilerindeki örnekte belirtmişlerdi. Yoksa kimsenin gönderi yazarına sorduğu soruları baltalamak gibi bir niyetim yok tabii.

Burada gördüğüm arka arkaya veriler. Bunu şundan sordum.

Aslında bu veri satırlar halinde değil, yani read line şeklinde satır satır okuyamayız.

Ayıraçları belirleyip, her veriyi tek tek okuruz.

Sonrasında,

Birinci dosyadan oku, dosya sonuna geldik mi kontrol et, geldiyse bitir, gelmediyse ikinci adım.

İkinci dosyadan oku, dosya sonuna geldik mi kontrol et, geldikse dosya başına dön.

Kadar basit bir kod haline gelecektir.

Burada asıl mesele text dosyasında verileri alabilmek.

Bunun için hiç bir yöntem denedin mi?

Bir seferde bir veri okuttun mu hiç?

Then_Shiffman.

Baltalamak gibi algılamadım, evet siz hızlı olarak anlamışsınızdır. Benim de ısrarımın bir nedeni var. Forumda benzer bir soru daha var. Özellikle neye ihtiyacı olduğunu ifade edebilirlerse zaten algoritmayı da oluşturmuş olacaklar diye düşünüyorum.

Tekrar sorayım, eğer rahatsız ediyorsa kodun cevabını yapıştırıp giderim konulara. Tatsız tuzsuz bir forum olur gibi geliyor bana. Öğrenmeden eğlenmeden ödev soran çocuklara cevap yazar gibi yazmak istemiyorum.
:slight_smile:

1 Beğeni

Neye ihtiyacı olduklarını biliyorlar ve bir kod da paylaşmışlar diye ben de kod yazarak yanıt verdim. Zaten yazdıkları kodun benzeridir. Dosyanın gerçek satır sayısı ile Notepad’in gösterdiği arasında bir fark var, onu göz ardı ediyorlar, onun düzeltilmesi gerekir. "Kod yapıştırıp gitme"ye meyilli değilim, gönderileri bunun aksine yazmaya çalışıyorum.

Forum benim tekelimde değil ki?! Kimsenin yazdığı gönderileri engellemek gibi bir lüksüm de yok tabii. Rahatsız olduğum bir durum yok, yalnız bir yanlış anlaşılma vardı, yardım etmek adına onu düzelteyim, zamandan tasarruf olsun istemiştim. Onu da başaramadım.