Пока pandas без проблем читал все мои CSV-файлы, но теперь, похоже, проблема ..
При выполнении:
df = pd.read_csv(r'path to file', sep=';')
Я получил:
OSError Traceback (most recent call last) in () ----> 1 df = pd.read_csv(r'path Übersicht\Input\test\test.csv', sep=';')
c:\program files\python36\lib\site-packages\pandas\io\parsers.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) 703 skip_blank_lines=skip_blank_lines) 704 --> 705 return _read(filepath_or_buffer, kwds) 706 707 parser_f.name = name
c:\program files\python36\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds) 443 444 # Create the parser. --> 445 parser = TextFileReader(filepath_or_buffer, **kwds) 446 447 if chunksize or iterator:
c:\program files\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 in _make_engine(self, engine) 1043 def _make_engine(self, engine='c'): 1044 if engine == 'c': -> 1045 self._engine = CParserWrapper(self.f, **self.options) 1046 else: 1047 if engine == 'python':
c:\program files\python36\lib\site-packages\pandas\io\parsers.py in init(self, src, **kwds) 1682 kwds['allow_leading_cols'] = self.index_col is not False 1683 -> 1684 self._reader = parsers.TextReader(src, **kwds) 1685 1686 # XXX
pandas_libs\parsers.pyx in pandas._libs.parsers.TextReader.cinit()
pandas_libs\parsers.pyx in pandas._libs.parsers.TextReader._setup_parser_source()
OSError: Initializing from file failed
Доступ к другим файлам в той же папке, которые являются файлами XLS, возможен без проблем.
При использовании библиотеки Python так:
import csv
file = csv.reader(open(r'pathtofile'))
for row in file:
print(row)
break
df = pd.read_csv(file, sep=';')
файл загружается и печатается первая строка. Однако я получаю:
ValueError: Invalid file path or buffer object type:
Наверное, потому что я не могу использовать read_csv таким образом ...
Как заставить работать первую функцию pandas? CSV не содержит никаких специальных символов, кроме немецких. Размер файла составляет 10 МБ.
Путь отлично работает для файлов xls ... df = pd.read_csv (r'U: \ folder \ Input \ test.csv ', sep ='; ')
На мой взгляд, можно скопировать файл в ту же папку, что и сценарий .py, а затем сначала попробовать df = df.read_csv('file.csv', sep=';') ... Но если pd.read_excel работает, тогда трудно найти проблему ...






Я предполагаю, что ваш файл csv находится в том же месте (корень). Если вы просто хотите, чтобы файл csv был прочитан и получил результат, который будет отображаться в виде текста на вашей консоли, просто сделайте это
import csv
with open('your_file.csv', 'r') as csvFile:
reader = csv.reader(csvFile)
for row in reader:
print(row)
csvFile.close()
Примечание: код предназначен для Python 3, если вы используете Python 2, синтаксис печати используется без скобок. Надеюсь, что это поможет вам
import pandas as pd
pd.read_csv("your_file.txt", engine='python')
Попробуй это. Это полностью сработало для меня.
Это избавило от ошибки, но результат не был обычным фреймворком Pandas. В частности, исчезли заголовки столбцов и индексы строк.
Это помогло мне определить настоящую ошибку. При этом ошибка изменилась на Ошибка отказа в разрешении, а затем я понял, что выполняю read_csv в каталоге.
Мне тоже помогло, права доступа к файлам не было ни чтения, ни записи! странный!
Но в чем причина?
Это решило эту проблему, но также, в сочетании с приведенными ниже ответами, заставило меня понять, что один из символов в имени файла был греческим, а не латинским (этот символ выглядит одинаково в обоих)!
Вы можете попробовать использовать os.path.join() для построения своего пути:
import os
rpath = os.path.join('U:','folder','Input','test.csv')
df = pd.read_csv(rpath, sep=';')
Чтобы пройти путь на основе вашего родительского каталога, вы можете использовать:
os.path.pardir
Я столкнулся с похожей проблемой. Оказалось, что у загруженного мной CSV вообще не было разрешений. Сообщение об ошибке от pandas не указывало на это, что затрудняло отладку.
Убедитесь, что у вашего файла есть права на чтение
Согласно github # 23784: read_csv выдает неправильное исключение при проблемах с разрешениями это было исправлено, но еще не выпущено, запланировано на 1.1. Подтвердите, как только выйдет 1.1.
У меня была такая же проблема, вы должны проверить свои разрешения.
После chmod 644 file.csv все заработало.
Спасибо! Это было разрешение, но не было явного сообщения об ошибке.
Я обнаруживаю ту же проблему в ОС 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')
все хорошо.
Может вам помочь.
Спасибо, я понял, что один из символов в моем имени файла не был латинским, хотя выглядел так!
Здесь та же проблема, другое решение.
Ранее я пытался загрузить свой файл в Excel, и в Excel произошел сбой, но, должно быть, сохранилась некоторая блокировка файла, потому что как только я принудительно выхожу из Excel, он загружается, как ожидалось.
не понимаете, что здесь отрицательный голос? просто предлагаю альтернативное решение на случай, если первое не сработает для кого-то, как и для меня ...
Попался в ту же проблему на окнах. Пытался использовать решение, предоставленное Дэном Ли, но получал ненормальные результаты со строками и столбцами. Я не уверен, было ли это из-за японских символов в моих файлах csv или нет, но четкое определение формата кодировки решило проблему для меня.
import pandas as pd
pd.read_csv("your_file.txt", engine='python', encoding = "utf-8-sig")
pandas read_csv OSError: сбой при инициализации из файла
Можно попробовать chmod 600 file.csv.
просто измените проникновение файла csv, это сработает
chmod 750 filename.csv (в командной строке)
или же
! chmod 750 filename.csv (в блокноте jupyter)
Та же проблема, когда я пытался загрузить файлы с японскими именами.
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")
У меня это сработало.
И где вы добавили этот аргумент? Пожалуйста, дайте исчерпывающий ответ.
Сработало у меня! Большое спасибо
У меня была такая же проблема, и, поскольку я только что установил другой пакет, я понял, что проблема может быть связана с этой недавней установкой, которая может внести некоторые изменения в пакет pandas. Я попытался удалить панд и переустановить его, и он работал отлично, как и раньше.
Сначала удалите панд:
conda remove pandas
Затем переустановите его, используя:
conda install -c anaconda pandas
может быть причина проблемы в том, что версия панд слишком низкая, обновите панды до 1.0.1, все работает. используйте команду следующим образом:
pip install -U pandas
Я столкнулся с той же проблемой в течение нескольких часов, и на этот раз я попытался использовать zip-файл по ссылке, откуда я загрузил набор данных, и он работает -
df=pd.read_csv(r'C:\Users\ADMIN\news.csv')-Initializing from file failed
df=pd.read_csv(r'C:\Users\ADMIN\news.zip')-Worked nicely!!
В моем случае я неправильно ввел путь.
Я работал с набором данных, загруженным с Kaggle в виде zip-архива. Структура загрузок была такой: main.zip/subfiles.zip. Я разархивировал основной, но решением было разархивировать subfiles.zip, и тогда мой требуемый файл оказался в subfiles.zip.
Таким образом, путь будет main / subfiles / wishfile.csv, и это было мое простое исправление.
Если вы столкнулись с этой проблемой в jupyter notebook, вам нужно загрузить файл csv в записную книжку, а затем проверить, решена ли ваша проблема или нет. я надеюсь, что это сработает.
Похоже какая-то проблема в
r'path to file', можно подробнее уточнить?