Problem mit zipfile und Excel

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Anfänger1911
User
Beiträge: 62
Registriert: Donnerstag 17. November 2005, 16:25

Problem mit zipfile und Excel

Beitragvon Anfänger1911 » Samstag 19. Mai 2007, 11:17

Hi!

Ich hab mehrere zip-Archive, die ich gerne entpackt hätte. Das hab ich mit zipfile programmiert. Das entpacken hat auch wunderbar funktioniert aber leider kann ich die Excel-Dateien, die ich entpackt habe, jetzt nicht mehr öffnen. Woran kann das liegen? Mein Code:

Code: Alles auswählen

for i in range(begin,end):
            if len(str(i))==2:
                name='0'+str(i)
                datei=pfad+name+'.zip'
            elif len(str(i))==1:
                name='00'+str(i)
                datei=pfad+name+'.zip'
            else:
                name=str(i)
                datei=pfad+name+'.zip'
            f=zip.ZipFile(datei)
            if not os.path.isdir(pfad+name):
                os.mkdir(pfad+name)
            for l in f.namelist():
                path=os.path.join(pfad+name,l)
                new=open(path,'w')
                new.write(f.read(l))
                new.close()
            f.close()


Die Variablen pfad, begin und end werden vorher vom Benutzer eingegeben. Die zip-files sind nummeriert also 001.zip usw. deshalb der erste Teil des Codes. Bitte helft mir! Vielen Dank im vorraus!

MfG
Me
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Beitragvon rayo » Samstag 19. Mai 2007, 11:33

Hi

Zeile 16:

Code: Alles auswählen

new = open(path, 'wb')


Das b bewirkt, dass Windows keine konvertierung von \n zu \r\n macht.

Gruss
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Problem mit zipfile und Excel

Beitragvon gerold » Samstag 19. Mai 2007, 11:35

Anfänger1911 hat geschrieben:aber leider kann ich die Excel-Dateien, die ich entpackt habe, jetzt nicht mehr öffnen. Woran kann das liegen?

HalloAnfänger1911!

Zeile 16: Probier mal die Daten "binär" zu speichern:

Code: Alles auswählen

new=open(path,'wb')

Vielleicht war das der Fehler.

Siehe auch: http://www.python-forum.de/topic-6157.html

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
BlackJack

Beitragvon BlackJack » Samstag 19. Mai 2007, 11:53

Das formatieren der dreistelligen Nummer kann man auch ganz leicht mit dem Formatoperator machen. Ausserdem wären aussagekräftigere Namen ganz nett (ungetestet):

Code: Alles auswählen

        for i in xrange(begin, end):
            name = '%s%03d' % (pfad, i)
            zip_datei = zip.ZipFile(name + '.zip')
            zielpfad = pfad + name
            if not os.path.isdir(zielpfad):
                os.mkdir(zielpfad)
            for dateiname in zip_datei.namelist()
                path = os.path.join(zielpfad, dateiname)
                datei = open(path, 'wb')
                datei.write(zip_datei.read(dateiname))
                datei.close()
            zip_datei.close()
Anfänger1911
User
Beiträge: 62
Registriert: Donnerstag 17. November 2005, 16:25

Beitragvon Anfänger1911 » Samstag 19. Mai 2007, 19:15

Achja das hatte ich auch schon gelesen. Ich dachte ich hätts auch so eingebaut :oops: . Danke!

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]