Ошибка OSE: инициализация из файла не удалась на CSV в Pandas - PullRequest
0 голосов
/ 27 мая 2018

Я уже просмотрел все похожие посты по этой проблеме, но не смог найти никакого решения ...

До сих пор Панды без проблем просматривали все мои файлы CSV, однако теперь, похоже,проблема ..

При выполнении:

df = pd.read_csv(r'path to file', sep=';')

Я получаю:

OSError Traceback (последний последний вызов) в () ----> 1df = pd.read_csv (r'path Übersicht \ Input \ test \ test.csv ', sep ='; ')

c: \ program files \ python36 \ lib \ site-packages \ pandas \ io \parsers.py в parser_f (filepath_or_buffer, сентябрь, разделитель, заголовок, имена, index_col, usecols, отжимает, приставка, mangle_dupe_cols, DTYPE, двигатель, преобразователи, true_values, false_values, skipinitialspace, SkipRows, Nrows, na_values, keep_default_na, na_filter, многословны,skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, итератор, chunksize, сжатие, тысячи, десятичное число, lineterminator, quotechar, цитирование, escape-символ, комментарий, кодировка, диалект, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, skip_footer, двойная кавычка, delim_whitespace, as_recarray, compact_ints, use_unsigned, low_memory, buffer_lines, memory_map, float_precision) 703 skip_blank_lines = skip_blank_lines) 704 -> 705_f_f_f_f_er_server_w_f_server_w_f_service1014 * = name

c: \ program files \ python36 \ lib \ site-packages \ pandas \ io \ parsers.py в _read (filepath_or_buffer, kwds) 443 444 # Создать анализатор.-> 445 parser = TextFileReader (filepath_or_buffer, ** kwds) 446 447, если размер фрагмента или итератор:

c: \ программные файлы \ python36 \ lib \ site-packages \ pandas \ io \ parsers.py in init (self, f, engine, ** kwds) 812 self.options ['has_index_names'] = kwds ['has_index_names'] 813 -> 814 self._make_engine (self.engine) 815 816 def close(self):

c: \ program files \ python36 \ lib \ site-packages \ pandas \ io \ parsers.py в _make_engine (self, engine) 1043 def _make_engine (self, engine = 'c'): 1044, если engine == 'c': -> 1045 self._engine = CParserWrapper (self.f, ** self.options) 1046 else: 1047, если engine == 'python':

c: \программные файлы \ python36 \ lib \ site-packages \ pandas \ io \ parsers.py в init (self, src, ** kwds) 1682 киловатт ['allow_leading_cols'] = self.index_col не False 1683-> 1684 self._reader = parsers.TextReader (src, ** kwds) 1685 1686 # XXX

pandas_libs \ parsers.pyx в pandas._libs.parsers.TextReader. cinit ()

pandas_libs \ parsers.pyx in pandas._libs.parsers.TextReader._setup_parser_source ()

OSError: Ошибка инициализации из файла

Доступ к другим файлам в той же папке, которые являются файлами XLS, можно получить без проблем.

При использовании библиотеки Python следующим образом:

import csv
file = csv.reader(open(r'pathtofile')) 

for row in file:
    print(row)
    break

df = pd.read_csv(file, sep=';')

файл загружается и печатается первая строка, однако я получаю:

ValueError:Неверный путь к файлу или тип объекта буфера:

Возможно, потому что я не могу использовать read_csv таким образом ...

Любая помощь, желательно, чтобы заставить работать первую функцию Pandas?К сожалению, я не могу поделиться CSV ... он не должен содержать никаких специальных символов, кроме немецких .. Размер файла составляет 10 МБ ...

Ответы [ 11 ]

0 голосов
/ 28 июня 2019

просто измените параметры файла csv, это будет работать

chmod 750 filename.csv (в командной строке)

или

! Chmod 750 filename.csv (в блокноте jupyter)

0 голосов
/ 02 июля 2019

Та же проблема, когда я пытался загрузить файлы с японскими именами файлов.

import pandas as pd
result = pd.read_csv('./result/けっこう.csv')

OSError: Initializing from file failed'

Затем я добавил аргумент engine="python".

result = pd.read_csv('./result/けっこう.csv', engine="python")

У меня это сработало.

0 голосов
/ 26 апреля 2019

столкнулся с той же проблемой на окнах.Пытался использовать решение, предоставленное Дэном Ли, но получал ненормальные результаты со строками и столбцами.Я не уверен, было ли это из-за японских символов в моих файлах csv или нет, но четкое определение формата кодировки решило проблему для меня.

import pandas as pd
pd.read_csv("your_file.txt", engine='python', encoding = "utf-8-sig")
0 голосов
/ 15 июня 2019

pandas read_csv OSError: Ошибка инициализации из файла

Мы можем попробовать chmod 600 file.csv.

0 голосов
/ 13 декабря 2018

Я нахожу ту же проблему под ОС Win10, когда пытаюсь прочитать файл csv, имя которого на китайском языке.Тогда больше нет проблем после того, как я переименую свой файл в EN.Возможно, вам следует указать полный путь к CSV-файлу в EN.

ОС: Windows 10;Версия Python: 3.6.5;IPython: 7.0.1;Панды: 0.23.0

Во-первых, при использовании

import pandas as pd
answer_df = pd.read_csv('./答案.csv')

мой блокнот ipython вызывает 'OSError: Ошибка инициализации из файла'.

Затем я переименовываю свой файл в answers.csv

import pandas as pd
answer_df = pd.read_csv('./answers.csv')

все в порядке.

Мэй, чтобы помочь вам.

0 голосов
/ 24 апреля 2019

Здесь та же проблема, но и другое решение.

Ранее я пытался загрузить свой файл в Excel, и в Excel произошел сбой, но, должно быть, он сохранил некоторую блокировку файла, поскольку после принудительного выхода из Excel он загружался, как и ожидалось.

0 голосов
/ 30 ноября 2018

У меня была такая же проблема, вы должны проверить свои разрешения.

После chmod 644 file.csv все заработало.

0 голосов
/ 11 сентября 2018

Я столкнулся с подобной проблемой.Оказалось, что загруженный мной CSV не имеет никаких разрешений.Сообщение об ошибке от pandas не указывало на это, затрудняя отладку.

Убедитесь, что у вашего файла есть права на чтение

0 голосов
/ 10 сентября 2018

Вы можете попробовать использовать os.path.join() для построения вашего пути:

import os

rpath = os.path.join('U:','folder','Input','test.csv')
df = pd.read_csv(rpath, sep=';')

Чтобы пройти путь на основе вашего родительского каталога, вы можете использовать:

os.path.pardir
0 голосов
/ 07 августа 2018
import pandas as pd
pd.read_csv("your_file.txt", engine='python')

Попробуйте это.Это полностью сработало для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...