2 Stimmen

Wie speichert man Zeilen aus einer CSV-Datei in Python und druckt Daten mit HTML

Mein Problem ist im Grunde folgendes: Ich habe eine CSV-Excel-Datei mit Informationen über Southpark Charaktere und ich und ich habe eine HTML-Vorlage und was ich zu tun habe, ist die Daten von Zeilen (in Listen gespeichert) für jeden Charakter und mit der HTML-Vorlage gegeben implementieren, dass Daten zu 5 separaten HTML-Seiten mit den Zeichen Nachnamen zu erstellen.

Hier ist ein Bild der CSV-Datei: i.imgur.com/rcIPW.png

Dies ist mein bisheriger Stand:

askfile = raw_input("What is the filename?")

southpark = []

filename = open(askfile, 'rU')

for row in filename:
    print row[0:105]

filename.close()

Das obige gibt alle Informationen über die IDLE-Shell in fünf Zeilen aus, aber ich muss einen Weg finden, jede Zeile UND Spalte zu trennen und sie in einer Liste zu speichern (was ich nicht weiß, wie man das macht). Es ist ziemlich rudimentärer Code, den ich kenne. Ich versuche, einen Weg zu finden, die Zeilen und Spalten zuerst zu speichern, dann muss ich eine Funktion (def) verwenden, um die Daten zuerst der HTML-Vorlage zuzuweisen und dann eine HTML-Datei aus diesen Daten/Vorlage zu erstellen und ich bin so weit ein Noob, dass ich versucht habe, das Netz zu durchsuchen, aber ich verstehe das Zeug einfach nicht.

Ich bin nicht erlaubt, alle herunterladbaren Module zu verwenden, aber ich kann Dinge in Python wie Import csv oder whatnot gebaut verwenden, aber wirklich seine soll mit ein paar Funktionen, Liste, Zeichenfolgen und Schleifen geschrieben werden.

Sobald ich herausgefunden habe, wie ich die Zeilen und Spalten trennen und speichern kann, kann ich an der Implementierung in die HTML-Vorlage arbeiten und die Datei erstellen.

Ich versuche nicht, meine HW für mich getan haben, es ist nur, dass ich ziemlich viel saugen bei der Programmierung so jede Hilfe geschätzt wird!

BTW Ich benutze Python 2.7.2 und wenn Sie die CSV-Datei DL klicken möchten aquí .


UPDATE:

Okay, vielen Dank! Das hat mir geholfen zu verstehen, was jede Zeile gedruckt wird und welche Informationen vom Programm gelesen werden. Nun, da ich in diesem Programm irgendwie Funktionen verwenden muss, habe ich mir Folgendes überlegt.

Jede Zeile (0-6) gibt separate Werte aus, aber nur die Funktion print row gibt ein Zeichen und alle zugehörigen Werte aus, was ich brauche. Ich möchte Daten ausdrucken, wie es "print row" tun würde, aber ich muss jedes dieser 5 Zeichen in einer separaten Liste speichern.

Grundsätzlich "print Zeile" druckt alle 5 Zeichen mit jedem ihrer entsprechenden Attribute, wie kann ich jedes von ihnen in 5 Variablen aufgeteilt und speichern sie als eine Liste?

Wenn ich print row[0] ausführe, werden nur die Namen ausgegeben, oder print row 1 druckt nur das Geburtsdatum. Ich dachte an die Erstellung einer def-Funktion, die nur print "Zeile" und teilt in 5 Variablen in einer Schleife und dann eine andere def-Funktion nimmt diese Variablen/Listen von Daten und kombiniert sie mit der HTML-Vorlage, und am Ende habe ich herauszufinden, wie man HTML-Dateien in Python erstellen.

Tut mir leid, wenn ich verwirrend klingen, nur versuchen, den Sinn des Ganzen zu machen. Dies ist mein Code im Moment gibt es eine Fehlermeldung, dass es zu viele Werte zu entpacken, aber ich bin nur versuchen, fiddle um und versuchen verschiedene Dinge und sehen, ob sie funktionieren. Basierend auf dem, was ich oben tun wollte, werde ich wahrscheinlich alle die meisten dieser Code zu löschen und einen Weg zu finden, um es mit Liste Typ Funktionen wie .append oder .strip, etc. neu zu schreiben, die ich nicht sehr vertraut mit bin.

import csv

original = file('southpark.csv', 'rU')

reader = csv.reader(original)

# List of Data
name, dob, descript, phrase, personality, character, apparel = []

count = 0

def southparkinfo():
for row in reader:
    count += 1
    if count == 0:
        row[0] = name
        print row[0] # Name (ex. Stan Marsh)
        print "----------------"
    elif count == 1:
        row[1] = dob
        print row[1] # DOB
        print "----------------"
    elif count == 2:
        row[2] = descript
        print row[2] # Descriptive saying (ex. Respect My Authoritah!)
        print "----------------"
    elif count == 3:
        row[3] = phrase
        print row[3] # Catch Phrase (ex. Mooom!)
        print "----------------"
    elif count == 4:
        row[4] = personality
        print row[4] # Personality (ex. Jewish)
        print "----------------"
    elif count == 5:
        row[5] = character
        print row[5] # Characteristic (ex. Politically incorrect)
        print "----------------"
    elif count == 6:
        row[6] = apparel
        print row[6] # Apparel (ex. red gloves)
    return

reader.close()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X