dask.dataframe.read_csv не может получить доступ к файлу на сетевом сервере - PullRequest
1 голос
/ 17 января 2020

Это может выглядеть как дубликат, но я не смог решить мою проблему, используя другие вопросы. Я достиг темного и одинокого тупика c, пытаясь прочитать очень большой CSV-файл, расположенный на сетевом сервере (не отображается), используя dask.data.frame.read_csv. Я проверил все git проблемы и даже документацию по dask (https://docs.dask.org/en/latest/dataframe-create.html) и попробовал все возможные комбинации '\', '\', '/' и '//' в Путь к файлу, но безрезультатно.

Сначала я убедился, что путь к файлу os существует. и это делает! но dask не может получить доступ к файлу, который нельзя скопировать на мой собственный локальный диск (из соображений конфиденциальности данных, а также из-за большого размера данных)

Локальная ОС (принудительно) Windows (puke). Python 3.7

Путь к файлу в Windows (проводник) выглядит примерно так:

\\server_name\some_path\some_more_path\the_file.csv

когда я проверяю путь os к файлу, он существует:

import os
os.path.exists("\\\\server_name\\some_path\\some_more_path\\the_file.csv")

    Out[74]: True

Но затем я попробовал всевозможные пути к файлам, чтобы прочитать файл, используя dask, и я получил либо ошибку пути к файлу, либо синтаксическую ошибку.

import dask.dataframe as dd
# failed --> changes the path to local drive 
my_file = dd.read_csv("\\\\server_name\\some_path\\some_more_path\\the_file.csv")




  File "C:\Users\my_user\AppData\Local\Continuum\anaconda3\lib\site-packages\fsspec\implementations\local.py", line 56, in info
    out = os.stat(path, follow_symlinks=False)

FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:/Users/my_user/server_name/some_path/some_more_path/the_file.csv'

################################
    # failed, same error as above
    my_file = dd.read_csv('file://server_name/some_path/some_more_path/the_file.csv')

    File "C:\Users\my_user\AppData\Local\Continuum\anaconda3\lib\site-packages\fsspec\implementations\local.py", line 56, in info
            out = os.stat(path, follow_symlinks=False)

        FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:/Users/my_user/server_name/some_path/some_more_path/the_file.csv'



################################   
    # failed --> label syntax error
    my_file = dd.read_csv("file:\\\\server_name\\some_path\\some_more_path\\the_file.csv")

    File "C:\Users\my_user\AppData\Local\Continuum\anaconda3\lib\site-packages\fsspec\implementations\local.py", line 56, in info
                    out = os.stat(path, follow_symlinks=False)

    OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'file:\\\\server_name\\some_path\\clive_folder\\some_more_path\\test.csv'

это только несколько из из почти 15 комбинаций, которые я пробовал. Я начинаю думать, что, возможно, невозможно прочитать файл из сети, используя dask?

...