csv reader wird nicht ausgeführt

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.
Antworten
r.barrios
User
Beiträge: 6
Registriert: Freitag 2. Februar 2018, 15:45

Hallo liebes Forum,

zwecks meiner Studienarbeit muss ich die Messwerte einer CSV-Datei auslesen, um die Messwerte später in verschiedenen Kombinationen zu plotten.
Zum Auslesen habe ich das CSV-Modul gefunden, das alle Strukturen einer CSV-Datei berücksichtigt. Folgenden Code hab ich geschrieben um erstmal die Messwerte auszulesen:


import csv
with open('LOG_0003.CSV') as f:
reader = csv.reader(f)
for row in reader:
print(row)


Nach dem Ausführen erhalte ich folgende Fehlermeldung:


Traceback (most recent call last):
File "C:/Users/"Benutzer"/PycharmProjects/Studienarbeit_Schraubprozesse/example_reader.py", line 3, in <module>
reader = csv.reader(f)
AttributeError: module 'csv' has no attribute 'reader'


Als Umgebung nutze ich Pycharm.
Die Kodierung der Datei ist wie in der Standard Library empfohlen UTF-8.
Ich habe auch schon verschiedene csv-Dateien aus unterschiedlichen Quellen versucht zu lesen.
In einer wurde per Komma getrennt, in einer per Semikolon.
Ich habe auch keine Datei mit dem Namen csv.py, welche statt der Library importiert wird.
Da es aus der Standard Library importiert wird, muss ich ja auch keine Library über Project Interpreter installieren.

Kann mir jemand weitere potentielle Fehlerquellen nennen oder einen Fehler in meinem bisherigen Vorgehen aufzeigen? :)
r.barrios
User
Beiträge: 6
Registriert: Freitag 2. Februar 2018, 15:45

Das Problem liegt wohl in Pycharm.
Ich habe den Code in der Shell ausgeführt und er funktioniert.
narpfel
User
Beiträge: 643
Registriert: Freitag 20. Oktober 2017, 16:10

Moin,

gibt es einen Grund, warum du nicht `numpy` oder `pandas` zum Einlesen der Daten nimmst? Wenn du die Daten nicht nur plotten sondern auch damit rechnen willst, wird das mit einem darauf ausgelegten Paket sehr viel angenehmer.

Außerdem gilt hier wieder der allgemeine Rat, Programme nicht aus IDEs zu starten, weil da komische Sachen passieren. Wobei eine IDE eigentlich nicht das `csv`-Modul kaputt machen sollte. Was gibt

Code: Alles auswählen

import sys
print(sys.path)

import csv
print(csv)
aus, wenn du es in der Shell bzw. in PyCharm startest?
r.barrios
User
Beiträge: 6
Registriert: Freitag 2. Februar 2018, 15:45

Ich hab mir verschiedene Forenbeiträge durchgelesen. Aus Gründen der Einfachheit wurde hier in der Regel immer der csv Reader gegenüber Spandas' empfohlen. Da ich mir zunächst einmal ein Bild über meine Messwerte machen möchte war das dann für mich die naheliegenste Lösung. Mein Ziel ist allerdings anhand von Schwellwerten oder eines signifikanten Verlaufes der Messwerte den Betriebszustand des gemessenen Werzeugs zu bestimmen. Würdest du mir in dem Fall zu 'pandas' oder 'numpy' raten?


Meine Ausgabe mit der Shell:

['C:/Python36-32', 'C:\\Python36-32\\Lib\\idlelib', 'C:\\Python36-32\\python36.zip', 'C:\\Python36-32\\DLLs', 'C:\\Python36-32\\lib', 'C:\\Python36-32', 'C:\\Python36-32\\lib\\site-packages']
<module 'csv' from 'C:\\Python36-32\\lib\\csv.py'>

Meine Ausgabe mit Pycharm:

C:\Users\"Benutzername"\PycharmProjects\Studienarbeit_Schraubprozesse\venv\Scripts\python.exe C:/Users/"Benutzername"/PycharmProjects/Studienarbeit_Schraubprozesse/Messdaten_BoschXDK_einlesen.py
['C:\\Users\\"Benutzername"\\PycharmProjects\\Studienarbeit_Schraubprozesse', 'C:\\Users\\"Benutzername"\\PycharmProjects\\Studienarbeit_Schraubprozesse', 'C:\\Users\\"Benutzername"\\PycharmProjects\\Studienarbeit_Schraubprozesse\\venv\\Scripts\\python36.zip', 'C:\\Users\\"Benutzername"\\PycharmProjects\\Studienarbeit_Schraubprozesse\\venv\\DLLs', 'C:\\Users\\"Benutzername"\\PycharmProjects\\Studienarbeit_Schraubprozesse\\venv\\lib', 'C:\\Users\\"Benutzername"\\PycharmProjects\\Studienarbeit_Schraubprozesse\\venv\\Scripts', 'C:\\Python36-32\\Lib', 'C:\\Python36-32\\DLLs', 'C:\\Users\\"Benutzername"\\PycharmProjects\\Studienarbeit_Schraubprozesse\\venv', 'C:\\Users\\"Benutzername"\\PycharmProjects\\Studienarbeit_Schraubprozesse\\venv\\lib\\site-packages']
<module 'csv'>

Process finished with exit code 0
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Hast du irgendwann mal eine Datei csv.py selbst erstellt? Was gibt “import csv; print (csv.__path__)” aus?
r.barrios
User
Beiträge: 6
Registriert: Freitag 2. Februar 2018, 15:45

__deets__ hat geschrieben:Hast du irgendwann mal eine Datei csv.py selbst erstellt?
Ich hatte anfangs eine Datei die mit csv....py begonnen hat. Die habe ich dann allerdings umbenannt, nachdem ich gelesen habe, dass sonst die Datei statt der Library aufgerufen wird.

__deets__ hat geschrieben:Was gibt “import csv; print (csv.__path__)” aus?
Meine Ausgabe mit der Shell:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:/Python36-32/beispielcsv++.py", line 2, in <module>
    print (csv.__path__)
AttributeError: module 'csv' has no attribute '__path__'
Meine Ausgabe mit Pycharm:

Code: Alles auswählen

C:\Users\"Benutzer"\PycharmProjects\Studienarbeit_Schraubprozesse\venv\Scripts\python.exe C:/Users/"Benutzer"/PycharmProjects/Studienarbeit_Schraubprozesse/example_reader.py
['C:\\Users\\"Benutzer"\\PycharmProjects\\Studienarbeit_Schraubprozesse\\venv\\lib\\site-packages\\csv']

Process finished with exit code 0
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

was gibt denn

[codebox=pycon file=Unbenannt.txt]>>> import csv
>>> csv.__file__[/code]

Damit solltest du den Speicherpfad sehen.

Gruß, noisefloor
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na dann lösch mal das csv.pyc das da noch rumliegt.
r.barrios
User
Beiträge: 6
Registriert: Freitag 2. Februar 2018, 15:45

Wegen einer wichtigen Prüfung musste ich eine Pause einlegen und komme deshalb leider jetzt erst zum antworten.
noisefloor hat geschrieben:Hallo,

was gibt denn

[codebox=pycon file=Unbenannt.txt]>>> import csv
>>> csv.__file__[/code]

Damit solltest du den Speicherpfad sehen.

Gruß, noisefloor
Meine Ausgabe:

Code: Alles auswählen

C:\Users\"Benutzername"\Anaconda3\python.exe C:/Users/"Benutzername"/PycharmProjects/Studienarbeit_Schraubprozesse/test2.py

Process finished with exit code 0
__deets__ hat geschrieben:Na dann lösch mal das csv.pyc das da noch rumliegt.
Das hatte ich bereits umbenannt, sodass es es nicht mehr anstatt der Library geöffnet wird. Ich habe es danach auch gelöscht, was leider auch nicht geholfen hat.



Ich habe alle Python Versionen und Entwicklungsumgebungen deinstalliert und danach nochmal neu installiert. Jetzt läuft es einwandfrei. Evtl haben sich die Kofigurationen der unterschiedlichen Versionen gegenseitig blockiert, aber das ist nur meine Vermutung.
Vielen Dank für die Ratschläge und Hilfestellungen! :)
Antworten