2016-08-03 6 views
1

Ich versuche, eine Datei zu öffnen und es in ein Wörterbuch zu lesen. Ich habe das erfolgreich gemacht, aber ich muss die "Werte" in die Variable schreiben und dann die Variable nehmen und sie in eine andere Datei an einem bestimmten Ort schreiben. Oder gibt es eine Möglichkeit, sie nicht alle in eine Variable zu setzen?Schleife durch das Wörterbuch von csv gebaut und schreiben bestimmte Schlüsselwerte in Datei

Die 'person1' im Schreibbereich ist, was ich tun muss, aber für die mehreren Namen in der Datei.

Ich bin ein Noob, also entschuldige ich mich, wenn ich verwirrt bin.

Link zur Datendatei DataFileLayout

`import csv 
with open('registrant_data.csv') as csvFile: 
    readCSV = list(csv.DictReader(csvFile)) 
    for row in readCSV: 
     person1 = row['firstname'] + ' ' + row['lastname'] 


# HTML Top of page 

with open('nametags8gen.html', 'w+') as myWriteFile: 
    myWriteFile.write('<!DOCTYPE html> \n' 
         '<html>\n' 
         '<head>\n' 
         '<title>natetag8</title>\n' 
         '<link href="styles/nametags8.css" type="text/css" rel="stylesheet" />\n' 
         '</head>\n' 
         '<body>\n' 
         '<header>\n' 
         '</header>\n' 
         '<main class="mainContainer">\n' 
         '<div class"textBoxContainer">\n' 
         '<div class="textContainer">\n' 
         '<span class="font22">' + person1 +'</span>\n' 
         '<span class="font12">Smith</span>\n' 
         '<span class="font14">Web Developer</span>\n' 
         '<span class="font12">Regis University</span>\n' 
         '<span class="font12">Denver, CO</span>\n' 
         '</div>\n') 
    csvFile.close()` 
+0

Müssen Sie eine HTML-Datei pro Person schreiben? –

+0

Beachten Sie, dass 'csvFile.close()' möglicherweise Probleme verursacht. Da es sich um einen "Kontextmanager" handelt, wurde es am Ende der Gruppierung "mit" automatisch geschlossen. – holdenweb

+0

Ich werde mehrere Bereiche wie die dort haben. Ich werde alle fest codierten Informationen mit Informationen aus der CSV-Datei ausfüllen. – MuthaCluffer

Antwort

0

Ich bin nicht sicher, was Ihre gewünschte Ausgabe ist. Was ist damit? In diesem Code schreibe ich zuerst den Anfang der HTML-Datei, dann durchlaufe ich die CSV-Datei und füge ein paar Spannen für jede Zeile der Datei hinzu.

import csv 

with open('registrant_data.csv') as csvFile: 
    readCSV = list(csv.DictReader(csvFile)) 

with open('nametags8gen.html', 'w+') as myWriteFile: 
    myWriteFile.write('<!DOCTYPE html> \n' 
         '<html>\n' 
         '<head>\n' 
         '<title>natetag8</title>\n' 
         '<link href="styles/nametags8.css" type="text/css" rel="stylesheet" />\n' 
         '</head>\n' 
         '<body>\n' 
         '<header>\n' 
         '</header>\n' 
         '<main class="mainContainer">\n' 
         '<div class"textBoxContainer">\n' 
         '<div class="textContainer">\n') 


    for row in readCSV: 
     myWriteFile.write('<span class="font22">' + row['firstname'] +'</span>\n' 
          '<span class="font12">' + row['lastname'] +'</span>\n' 
     # here add other info for each person 

    myWriteFile.write('</div>\n' 
         '</body>\n') 
+0

Ich muss mehr Kontext geben. Wir sind beauftragt, eine 8-up-Vorlage von Nametags in HTML und einigen CSS-Formatierungen zu erstellen. Dann erhielten wir eine CSV-Datei, die Informationen über die Menschen auflistet. Ich muss die bestimmten Daten wie "Vorname und Nachname" ziehen und sie dann in die hartcodierten Punkte einfügen und sie in die Werte von der CSV ersetzen. Sorry für den Mangel an Informationen – MuthaCluffer

Verwandte Themen