Kiedy próbuję uruchomić ten kod, aby odczytać plik CSV znajdujący się na moim dysku C:
import pandas as pd
fd_inspections = pd.read_csv('c:\food_inspections.csv')
Dostaję ten błąd
runfile('C:/food_inspections.py', wdir='C:')
Traceback (most recent call last):
File "<ipython-input-5-369bc957a5c4>", line 1, in <module>
runfile('C:/food_inspections.py', wdir='C:')
File "C:\anaconda\lib\site-packages\spyder\utils\site\sitecustomize.py", line 710, in runfile
execfile(filename, namespace)
File "C:\anaconda\lib\site-packages\spyder\utils\site\sitecustomize.py", line 101, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/food_inspections.py", line 13, in <module>
fd_inspections =pd.read_csv('c:\food_inspections.csv')
File "C:\anaconda\lib\site-packages\pandas\io\parsers.py", line 655, in parser_f
return _read(filepath_or_buffer, kwds)
File "C:\anaconda\lib\site-packages\pandas\io\parsers.py", line 405, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "C:\anaconda\lib\site-packages\pandas\io\parsers.py", line 764, in __init__
self._make_engine(self.engine)
File "C:\anaconda\lib\site-packages\pandas\io\parsers.py", line 985, in _make_engine
self._engine = CParserWrapper(self.f, **self.options)
File "C:\anaconda\lib\site-packages\pandas\io\parsers.py", line 1605, in __init__
self._reader = parsers.TextReader(src, **kwds)
File "pandas/_libs/parsers.pyx", line 394, in pandas._libs.parsers.TextReader.__cinit__ (pandas\_libs\parsers.c:4209)
File "pandas/_libs/parsers.pyx", line 710, in pandas._libs.parsers.TextReader._setup_parser_source (pandas\_libs\parsers.c:8873)
FileNotFoundError: File b'c:\x0cood_inspections.csv' does not exist
Dlaczego próbuje odczytać plik z inną nazwą, której nie ma w kodzie?
3 odpowiedzi
- po prostu umieść
r''
przed ścieżką do pliku. Ponieważ\
wymyka się znakowi. - Innym sposobem jest użycie
\\
w ciągu znaków, aby uniknąć tego\
.
import pandas as pd
fd_inspections = pd.read_csv(r'c:\food_inspections.csv')
Spróbuj wydrukować ścieżkę do pliku.
print('c:\food_inspections.csv')
Zwraca:
c:\x0cood_inspections.csv
Dzieje się tak, ponieważ w twoim ciągu znajduje się \ f, które ma specjalne znaczenie. Spróbuj z nieprzetworzonym ciągiem:
fd_inspections = pd.read_csv(r'c:\food_inspections.csv')
To powinno działać.
Ukośniki odwrotne to znaki ucieczki w Pythonie.
Podczas pisania ścieżek plików musisz je podwoić lub zamiast tego użyć ukośników ...
Fd_inspections = pd.read_csv ('c: \\ food_inspections.csv')
Lub (schludniejsza i dlatego preferowana opcja)
Fd_inspections = pd.read_csv ('c: /food_inspections.csv')
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.
fd_inspections = pd.read_csv('c:/food_inspections.csv')