python auf mac

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.
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Samstag 30. August 2008, 13:00

so sieht die datei csvreader.py aus, die obige fehlermeldung erzeugt

Code: Alles auswählen

import csv
reader = csv.reader(open("/Users/macbook/Desktop/versuch.csv","rb"), delimiter=";")
   for row in reader:
      print row


ist das richtig für python 2.3?
kaschu
User
Beiträge: 25
Registriert: Sonntag 25. Februar 2007, 14:15

Beitragvon kaschu » Samstag 30. August 2008, 16:20

Sieht gut aus (laut http://www.python.org/doc/2.3.5/ref/for.html), allerdings ungetestet, da ich keine 2.3er Version mehr laufen habe.

Kürze Deine CSV-Datei mal auf 3 Zeilen und teste, ob der Fehler weiterhin auftritt. Wenn ja, zeige uns die Zeilen. Falls nicht, versuche es solange mit anderen Zeilen, bis der Fehler auftritt. Dann haben wir den Übeltäter und können schauen, was schief gelaufen ist.
Mephisto
User
Beiträge: 28
Registriert: Mittwoch 17. Januar 2007, 15:52

Beitragvon Mephisto » Samstag 30. August 2008, 16:39

Das sieht nicht gut aus - das `for` darf nicht eingerückt sein, d.H. auf der selben "Ebene" wie reader = ...

lg mephisto
kaschu
User
Beiträge: 25
Registriert: Sonntag 25. Februar 2007, 14:15

Beitragvon kaschu » Samstag 30. August 2008, 19:31

aargh! :roll:
danke für das Abnehmen der Tomaten...
:oops:

ich hatte mich zu sehr auf die 2.3er Kompatibilität gestürzt und nicht auf profane Syntaxfehler geachtet. Trotzdem unentschuldbar. Danke Mephisto!
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Sonntag 31. August 2008, 15:41

habe die einrückung korrigiert. jetzt sieht es so aus:

Code: Alles auswählen

import csv
reader = csv.reader(open("/Users/macbook/Desktop/versuch.csv","rb"), delimiter=";")
for row in reader:
   print row

jetzt sieht die fehlermeldung so aus:
Traceback (most recent call last):
File "csvreader.py", line 3, in ?
_csv.Error: newline inside string

wenn ich wie empfohlen, linie um linie weglasse, um zu kontrollieren was er tut, dann tut er dann auf zeile 2 eben gar nichts mehr - weils nichts zu tun gibt. es muss irgendwie am befehl
for row in reader:
liegen - weil so viele möglichkeiten was falsch zu machen gibts ja wohl bei 4 zeilen gar nicht - oder?
kaschu
User
Beiträge: 25
Registriert: Sonntag 25. Februar 2007, 14:15

Beitragvon kaschu » Sonntag 31. August 2008, 16:01

goldfisch hat geschrieben:wenn ich wie empfohlen, linie um linie weglasse, um zu kontrollieren was er tut, dann tut er dann auf zeile 2 eben gar nichts mehr - weils nichts zu tun gibt.


Du sollst die Zeilen der CSV-Datei dezimieren. Ich vermute einen Datenfehler.
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Sonntag 31. August 2008, 17:00

die Zeilen der CSV-Datei dezimieren


sorry für die blöde frage - aber was heisst dezimieren?
die excel-datei als csv gespeichert sieht folgendermassen aus:

vorname;nachname;geburtsdatum;wohnort;haarfarbe
Daniel;Zakowski;hallo;Sibnslaken;Schwarz
David;Schönauer;hallo;Aachen;Braun
Sebastian;Sentner;hallo;Sydney;Dunkelblond


ist ein versuchsbeispiel...

wo wäre dann der datenfehler? umlaute?
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Sonntag 31. August 2008, 18:13

goldfisch hat geschrieben:sorry für die blöde frage - aber was heisst dezimieren?

Das ist eine von Konsul Appius Claudius Sabinus eingeführte Strafmaßnahme, bei der jeder zehnte Mann einer römischen Legion getötet wird. Hätte dir bestimmt auch die Wikipedia sofort mitgeteilt :)

Stefan
kaschu
User
Beiträge: 25
Registriert: Sonntag 25. Februar 2007, 14:15

Beitragvon kaschu » Sonntag 31. August 2008, 18:58

goldfisch hat geschrieben:
die Zeilen der CSV-Datei dezimieren


sorry für die blöde frage - aber was heisst dezimieren?
die excel-datei als csv gespeichert sieht folgendermassen aus:

vorname;nachname;geburtsdatum;wohnort;haarfarbe
Daniel;Zakowski;hallo;Sibnslaken;Schwarz
David;Schönauer;hallo;Aachen;Braun
Sebastian;Sentner;hallo;Sydney;Dunkelblond


ist ein versuchsbeispiel...

wo wäre dann der datenfehler? umlaute?


frag nicht uns, sondern probiere es aus! Läuft Dein Programm mit den 4 Zeilen da oben, oder wirft es den Fehler?
EyDu
User
Beiträge: 4866
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Sonntag 31. August 2008, 19:33

sma hat geschrieben:Das ist eine von Konsul Appius Claudius Sabinus eingeführte Strafmaßnahme, bei der jeder zehnte Mann einer römischen Legion getötet wird. Hätte dir bestimmt auch die Wikipedia sofort mitgeteilt :)


:lol: Man sollte sich öfter mal über den Ursprung einiger Wörter Gedanken machen :)
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Beitragvon Darii » Sonntag 31. August 2008, 21:35

sma hat geschrieben:
goldfisch hat geschrieben:sorry für die blöde frage - aber was heisst dezimieren?

Das ist eine von Konsul Appius Claudius Sabinus eingeführte Strafmaßnahme, bei der jeder zehnte Mann einer römischen Legion getötet wird. Hätte dir bestimmt auch die Wikipedia sofort mitgeteilt :)
*rofl* Für die Antwort sollte man dir nen Orden verleihen. :)
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Sonntag 31. August 2008, 23:11

philosophisch super - konstruktiv mangelhaft - allgemeinwissen genial - verwertbarkeit null!

ich brauche keine aufklärung über das leben - ich brauche konstruktive hinweise in bezug auf python - was meines erachtens teilweise etwas weit weg vom leben ist... :lol:
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Sonntag 31. August 2008, 23:24

goldfisch hat geschrieben:wo wäre dann der datenfehler? umlaute?

Hast du denn mal eine Probedatei ohne Umlaute probiert?
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
goldfisch
User
Beiträge: 52
Registriert: Sonntag 17. August 2008, 19:52

Beitragvon goldfisch » Montag 1. September 2008, 11:55

ja habe ich. auch mit zahlen hab ichs probiert. hilf nichts. es liegt also nicht an den umlauten.
es kommt wieder die meldung:

Traceback (most recent call last):
File "csvreader.py", line 3, in ?
_csv.Error: newline inside string


mit line 3 meint er zeile 3 im script - und die lautet
for row in reader
damit muss was falsch sein - aber was?
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Montag 1. September 2008, 13:03

Das Problem liegt schon an der cvs-Datei. Eine Idee die ich habe, ist, dass wenn du deine csv-Datei aus Exel speicherst (also unter WIndows), du als Zeilenumbruch-Zeichen \r\n hast, waehrend der Mac, wo du das Python-Script laufen laesst, meines Wissens \r verwendet. Vlt. bringt das den csv-Reader durcheinander?

Zum einen koenntest du nochmal ausprobieren, wenn du einfach selbst eine kurze CVS-Datei auf dem Mac mit einem Texteditor schreibst und speicherst, z.B. kannst du die CVS-Datei, die du hier gepostet hast, per Copy & Paste uebernehmen (am Besten erstmal was ohne Umlaute). Wenn das auch nicht funktioniert, koennte man mal eine csv-Datei von Python erstellen lassen und schauen, wie die Datei aussieht (vor allem die Zeilenumbrueche).

Dann gibt es theoretisch auch noch die Moeglichkeit, beim csv-Reader das Zeilenumruchzeichen mitzugeben, aber die Doku klingt da nicht sehr vielversprechend:

http://docs.python.org/lib/csv-fmt-params.html hat geschrieben:lineterminator
The string used to terminate lines produced by the writer. It defaults to '\r\n'.

Note: The reader is hard-coded to recognise either '\r' or '\n' as end-of-line, and ignores lineterminator. This behavior may change in the future.

:K Du kannst es natuerlich trotzdem einfach mal ausprobieren.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei

Wer ist online?

Mitglieder in diesem Forum: martinjo, WhiteyW