1. ホーム
  2. python

[解決済み] OSError: Pandas の csv でファイルからの初期化に失敗しました。

2022-01-30 08:06:56

質問

これまで pandas は問題なくすべてのCSVファイルを読み込んでくれますが、現在、問題があるようです。

するとき。

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

得ることができる。

OSError トレースバック (最近の呼び出し) last) in () ----> 1 df = pd.read_csv(r'path ÜbersichtInputtestTest.csv', sep=';')

c:\program files, python36﹑Packages﹑ 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、コメント、エンコーディング。 方言、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. 名前 = 名前

c:\program files ↪Python36↩lib₎site-packages₎ parsers.py in _read(filepath_or_buffer, kwds) 443 444 # パーサーを作成します。 --> 445 parser = TextFileReader(filepath_or_buffer, **kwds) 446 447 if chunksize or iterator:

c:\program files ↪Python36↩Lib₎site-packages₎ 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↩Packages↪Python36↩ 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₎ 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_libsparsers.pyx in pandas._libs.parsers.TextReader。 シニット ()

pandas_libsparsers.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には、ドイツ語以外の特殊文字は含まれていません。ファイルサイズは10MBです。

解決方法は?

私も同じような問題にぶつかりました。ダウンロードしたCSVにパーミッションが全くないことが判明したのです。pandasのエラーメッセージはこのことを指摘しておらず、デバッグが困難でした。

ファイルに読み取り権限があることを確認する