+ Cevap Yaz
3 sonuçtan 1 ile 3 arası gösteriliyor

Konu: dosyadan belirli bir kurala göre okuma yapmak?

  1. #1
    Üye bravex Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    11/2004
    Mesaj
    20

    dosyadan belirli bir kurala göre okuma yapmak?

    merhaba..
    herhangi bir txt dosyasının aşağıdaki gibi bir içeriğe sahip olduğunu varsayarsak;
    2006 / 2 - 3527
    2006 / 2 - 3528
    2006 / 2 - 3819
    2006 / 2 - 3962
    2007 / 2 - 47
    2007 / 2 - 53
    2007 / 2 - 62
    2007 / 2 - 145
    2007 / 2 - 187

    bu dosyadaki verileri en başta bulunan 2006 yılı ve 2007 yılı değerlerine göre okuyacak ancak sadece en sonda bulunan yani "-" işaretinden sonra bulunan değeri listeye ekleyecek işlemde sorun yaşıyorum. örneğin 2006/2-3527 değerinde 2006 yılı olduğu için bunu d6[] dizisine ekleyecek değer ise 3527 olacak..
    ancak sıra 2007 yılına geldiğinde d7[] dizisinin içeriği boş olarak geliyor..
    bu konuda nerede hata yapıyorum acaba, yardımcı olursanız sevinirim..
    kolay gelsin,

    # -*- coding: cp1254 -*-

    dosya=open("a.txt").readlines()
    print "File length :",len(dosya)

    d6=[]
    d7=[]

    x=0
    while dosya[x][:4]=="2006":
    d6.append(dosya[x][11:])
    x=x+1

    x=0
    while dosya[x][:4]=="2007":
    d7.append(dosya[x][11:])
    x=x+1


    print d6,d7
    Eklenmiş Dosyalar

  2. #2
    Üye
    Üyelik Tarihi
    06/2008
    Mesaj
    5

    Arkadaşım ilk önce while ile kontrol ettiğin için ilk şartın doğru olmasına bakar.Sen ilk satır 2007 mi diye kontrol ettirdiğin için hiç o bloğa girmez ve devam eder.Başa 2007 yazsaydın farkedebilirdin.Ayrıca şöle yapsan daha güzel olur..

    # -*- coding: cp1254 -*-


    dosya=open("a.txt").readlines()
    print "File length :",len(dosya)

    d6=[]
    d7=[]

    for x in range(len(dosya)):
    if dosya[x][:4]=="2006":
    d6.append(dosya[x][11:])
    elif dosya[x][:4]=="2007":
    d7.append(dosya[x][11:])
    print d6
    print "\n"
    print d7

  3. #3
    Üye bravex Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    11/2004
    Mesaj
    20

    cevap yazdığın için sağol..
    bu mesajı attıktan sonra bende hatayı farkettim..
    kodun uzunluğu 200 satırı geçti şimdiden ..
    kolay gelsin )

+ Cevap Yaz

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Bookmarks

Mesaj Yazma Hakları

  • Yeni mesajgöndermezsiniz
  • Cevap yazamazsınız
  • Dosya ekleyemezsiniz
  • Mesajınızı düzenleyemezsiniz