Python csv in Dict + Spalte berechnen Neuling braucht Hilfe
Verfasst: Sonntag 7. Januar 2018, 15:57
Hallo zusammen,
ich absolviere aktuell einen Python Grundkurs und komme leider bei meiner Aufgabe nicht weiter.
Vielleicht kann mir ja hier jemand helfen. Ich möchte wirklich gern verstehen was ich falsch mache.
Aufgabe:
1. CSV Datei in ein Dictionary einlesen
(Diese schaut circa so aus:
1. Zeile (Header) : Id,Name,Year,Gender,State,Count
2. Zeile: 1,Mary,1910,F,AK,14
3. - X Zeile: Selbiger Aufbau wie Zeile 2
2. Analysiere dein Dict und finde heraus, welcher der häufigste Vorname ist
(3. Schreibe den gesamten Code, der die Zeile öffnet und durchgeht in einer Zeil) <- Habe ich mich jetzt erstmal nicht drauf konzentriert.
Was ich bisher habe ist folgendes:
ANSATZ 1:
import linecache
filepatch = "kursmaterialien/data/names.csv"
line = linecache.getline(filepatch, 2
)
data = line.split(",")
liste = (data)
d = {}
for element in liste:
if element in d:
d[element] = [element] + 1
else:
d[element] = 1
print(d)
Hier wäre die Ausgabe die jeweilige Zeile:
Also in dem Falle:
{'1': 1, 'Mary': 1, '1910': 1, 'F': 1, 'AK': 1, '14\n': 1}
ANSATZ 2
import linecache
filepatch = "kursmaterialien/data/names.csv"
d = {}
liste = (data)
line_splitted = line.strip().split(",")
for element in liste:
if line_splitted[2] and element in d:
d[element] = [element] + 1
else:
d[element] = 1
print(d)
Hier wäre die Ausgabe schon eher das was ich möchte:
{'Id': 1, 'Name': 1, 'Year': 1, 'Gender': 1, 'State': 1, 'Count\n': 1}
Allerdings ist es auch nur annähernd das was ich brauche.
Was ich ja eigentlich möchte, ist das wir uns Spalte "Name" anschauen und dann entsprechend die Namen + Anzahl auswerfen.
Kann jemand helfen?
ich absolviere aktuell einen Python Grundkurs und komme leider bei meiner Aufgabe nicht weiter.
Vielleicht kann mir ja hier jemand helfen. Ich möchte wirklich gern verstehen was ich falsch mache.
Aufgabe:
1. CSV Datei in ein Dictionary einlesen
(Diese schaut circa so aus:
1. Zeile (Header) : Id,Name,Year,Gender,State,Count
2. Zeile: 1,Mary,1910,F,AK,14
3. - X Zeile: Selbiger Aufbau wie Zeile 2
2. Analysiere dein Dict und finde heraus, welcher der häufigste Vorname ist
(3. Schreibe den gesamten Code, der die Zeile öffnet und durchgeht in einer Zeil) <- Habe ich mich jetzt erstmal nicht drauf konzentriert.
Was ich bisher habe ist folgendes:
ANSATZ 1:
import linecache
filepatch = "kursmaterialien/data/names.csv"
line = linecache.getline(filepatch, 2
)
data = line.split(",")
liste = (data)
d = {}
for element in liste:
if element in d:
d[element] = [element] + 1
else:
d[element] = 1
print(d)
Hier wäre die Ausgabe die jeweilige Zeile:
Also in dem Falle:
{'1': 1, 'Mary': 1, '1910': 1, 'F': 1, 'AK': 1, '14\n': 1}
ANSATZ 2
import linecache
filepatch = "kursmaterialien/data/names.csv"
d = {}
liste = (data)
line_splitted = line.strip().split(",")
for element in liste:
if line_splitted[2] and element in d:
d[element] = [element] + 1
else:
d[element] = 1
print(d)
Hier wäre die Ausgabe schon eher das was ich möchte:
{'Id': 1, 'Name': 1, 'Year': 1, 'Gender': 1, 'State': 1, 'Count\n': 1}
Allerdings ist es auch nur annähernd das was ich brauche.
Was ich ja eigentlich möchte, ist das wir uns Spalte "Name" anschauen und dann entsprechend die Namen + Anzahl auswerfen.
Kann jemand helfen?