Filsti med Python og Windows på Jupyter Notebook

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kan ikke åbne en fil på Jupyter Notebook på Windows.


Jeg prøvede alle de råd i flere stillinger på StackOverFlow (herunder denne meget komplette: Windows-sti i python)


Min kode er denne:


today\_date = date.today()
path2file = 'D:/Users/XXX123/My\_folder/Project/Sub\_folder/Relevés/audit/Forms\_'+'{:\%Y\%m\%d}'.format(today\_date)+'.csv'
print(path2file)
pd.read\_csv(os.path.normpath(path2file))


og jeg fik denne fejlmeddelelse:


---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-14-01089ab15706> in <module>()
      4 print(path2file)
      5 
----> 6 pd.read\_csv(os.path.normpath(path2file))

~AppDataLocalContinuumanaconda3libsite-packagespandasioparsers.py in parser\_f(filepath\_or\_buffer, sep, delimiter, header, names, index\_col, usecols, squeeze, prefix, mangle\_dupe\_cols, dtype, engine, converters, true\_values, false\_values, skipinitialspace, skiprows, nrows, na\_values, keep\_default\_na, na\_filter, verbose, skip\_blank\_lines, parse\_dates, infer\_datetime\_format, keep\_date\_col, date\_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize\_cols, error\_bad\_lines, warn\_bad\_lines, skipfooter, skip\_footer, doublequote, delim\_whitespace, as\_recarray, compact\_ints, use\_unsigned, low\_memory, buffer\_lines, memory\_map, float\_precision)
    653                     skip\_blank\_lines=skip\_blank\_lines)
    654 
--> 655         return \_read(filepath\_or\_buffer, kwds)
    656 
    657     parser\_f.\_\_name\_\_ = name

~AppDataLocalContinuumanaconda3libsite-packagespandasioparsers.py in \_read(filepath\_or\_buffer, kwds)
    403 
    404     # Create the parser.
--> 405     parser = TextFileReader(filepath\_or\_buffer, **kwds)
    406 
    407     if chunksize or iterator:

~AppDataLocalContinuumanaconda3libsite-packagespandasioparsers.py in \_\_init\_\_(self, f, engine, **kwds)
    762             self.options['has\_index\_names'] = kwds['has\_index\_names']
    763 
--> 764         self.\_make\_engine(self.engine)
    765 
    766     def close(self):

~AppDataLocalContinuumanaconda3libsite-packagespandasioparsers.py in \_make\_engine(self, engine)
    983     def \_make\_engine(self, engine='c'):
    984         if engine == 'c':
--> 985             self.\_engine = CParserWrapper(self.f, **self.options)
    986         else:
    987             if engine == 'python':

~AppDataLocalContinuumanaconda3libsite-packagespandasioparsers.py in \_\_init\_\_(self, src, **kwds)
   1603         kwds['allow\_leading\_cols'] = self.index\_col is not False
   1604 
-> 1605         self.\_reader = parsers.TextReader(src, **kwds)
   1606 
   1607         # XXX

pandas/\_libs/parsers.pyx in pandas.\_libs.parsers.TextReader.\_\_cinit\_\_ (pandas\_libsparsers.c:4209)()

pandas/\_libs/parsers.pyx in pandas.\_libs.parsers.TextReader.\_setup\_parser\_source (pandas\_libsparsers.c:8873)()

FileNotFoundError: File b'D:\Users\XXX123\My\_folder\Project\Sub\_folder\Relevxc3xa9s\audit\Forms20180123.csv' does not exist


Jeg forsøgte flere løsninger: skråstreger, tilbageslag, dobbelt tilbageslag, triple backslashes, dobbelt eller tredobbelte citater, r '...', os.path.normpath ('...'), ... men jeg kan stadig ikke åbne min fil .


Har nogen en ide?


NB: Min fil eksisterer ...


Tak for din hjælp.

Bedste reference


Sørg for, at den mappe, din fil er placeret, er tilgængelig uden yderligere rettigheder .

Hvis du stadig får æren, skal du bare ændre arbejdsmappen til skrivebordet, dvs. flytte projektmappen til skrivebordet og indlæse den derfra. Dette fungerede for mig som standard opstartssted for jupyter gav mig den samme fejl.

Andre referencer 1


prøve:


import datetime
import os
import pandas as pd
import sys

today\_date = datetime.date.today()
path2file = r'D:/Users/XXX123/My\_folder/Project/Sub\_folder/Relevés/audit/Forms\_'+'{:\%Y\%m\%d}'.format(today\_date)+'.csv'
# check that the file path exists
if not os.path.exists(path2file):
    print('{} not found'.format(path2file))
    sys.exit()
pd.read\_csv(os.path.normpath(path2file))


os.path.exists kontrollerer, at du har en gyldig filepath.


At sætte 'r' -symbolet før din filepath sikrer, at strengen ikke ændres af tolken, fordi en af ​​tilbageslagene angiver en tegnkode.