2017-12-23 9 views
0

Ich versuche einen t-Test in Python mit dem Pandas-Modul zu versuchen. Es tritt jedoch derselbe Fehler auf, bei dem meine Zieldatei nicht gefunden werden kann. In diesem Fall lautet die Zieldatei brain_size.csv, wobei die Trennzeichen Semikolons sind. Die leer gelassenen Werte werden durch einen Punkt dargestellt.Pandas kann die relevante Datei nicht finden

Hier ist, was ich habe verkeilt in:

import pandas as pd 
data = pd.read_csv('This PC\Desktop\brain_size.csv', sep=';', na_values='.') 

Hier ist die Fehlermeldung. Es ist eine lange Zeichenfolge

File "C:\Users\Tina Gnali\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 562, in parser_f 
    return _read(filepath_or_buffer, kwds) 
    File "C:\Users\Tina Gnali\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 315, in _read 
    parser = TextFileReader(filepath_or_buffer, **kwds) 
    File "C:\Users\Tina Gnali\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 645, in __init__ 
    self._make_engine(self.engine) 
    File "C:\Users\Tina Gnali\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 799, in _make_engine 
    self._engine = CParserWrapper(self.f, **self.options) 
    File "C:\Users\Tina Gnali\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 1213, in __init__ 
    self._reader = _parser.TextReader(src, **kwds) 
    File "pandas\parser.pyx", line 358, in pandas.parser.TextReader.__cinit__ (pandas\parser.c:3427) 
    File "pandas\parser.pyx", line 628, in pandas.parser.TextReader._setup_parser_source (pandas\parser.c:6861) 
OSError: File b'This PC\\Desktop\x08rain_size.csv' does not exist 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 

möchte ich fragen:

  1. Was mache ich falsch? Warum kann ich die Zieldatei nicht abrufen?

  2. Warum löst mein Fehler eine so lange Fehlermeldung aus?

  3. Was macht das Modul "Parser"?

Antwort

1

Das Problem ist mit Backslashes "\" verwenden. Sie müssen müssen das vermeiden. Backslash ist für so genannte Escape-Zeichen reserviert, wie neue Zeile mit "\ n" und Zeug bezeichnet wird. Entweder verwenden Sie doppelte Schrägstriche "\\" oder einfach nur forwardslashes "/" oder roh Literale in Ihrem read_csv():

"C:\\Users\\blabla\\" 

oder

"C:/Users/blabla/" 

oder

r"C:\Users\blabla\" 

Bezüglich Wie Sie den Fehler identifizieren, suchen Sie in der Fehlermeldung nach der Zeichenfolge "error". Es ist hier:

OSError: File b'This PC\\Desktop\x08rain_size.csv' does not exist 

Dies sagt Ihnen, dass Python für eine Datei suchen ‚x08rain_size.csv‘ genannt, und natürlich haben Sie nicht eine solche Datei. Aber was ist x08rain? Könnte es sein, dass b durch x08 ersetzt wird, wenn Sie einen Backslash davor setzen? Lassen Sie uns bitten, dies zu Python:

In [247]: '\b' 
Out[247]: '\x08' 

Dort gehen wir!

-1

Mai ist der September anders ist es auch sein mag „“ es versucht, und wenn es noch Werke tut versuchen zu entfernen September und Werte na und versuchen, die Datei in demselben Verzeichnis zu halten, wo das Programm vorhanden ist oder gibt tatsächliche Pfad

Verwandte Themen