私はすでにこの問題に関する同様の投稿をすべて調べましたが、解決策が見つかりませんでした...
これまでPandasはすべてのCSVファイルを問題なく読み通しましたが、現在は問題があるようです。
行うとき:
df = pd.read_csv(r'path to file', sep=';')
私は得る:
()内のOSErrorトレースバック(最後の最後の呼び出し)----> 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、イテレーター、chunksize、compression、千、小数、lineterminator、quotechar、quoting、quotingエンコード、方言、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) 707 parser_f .name = name
c:\ program files\python36\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer、kwds)443 444#パーサーを作成します。 -> 445 parser = TextFileReader(filepath_or_buffer、** kwds)446 447チャンクサイズまたはイテレーターの場合:
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 Falseではない1683-> 1684 self._reader = parsers.TextReader(src、** kwds)1685 1686#XXX
pandas._libs.parsers.TextReaderのpandas_libs\parsers.pyx .cinit()
pandas._libs.parsers.TextReader._setup_parser_source()のpandas_libs\parsers.pyx
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 MBです...
同様の問題に遭遇しました。ダウンロードしたCSVには許可がまったくありませんでした。 pandasからのエラーメッセージはこれを指摘していなかったため、デバッグが困難になりました。
ファイルに読み取り権限があることを確認してください
import pandas as pd
pd.read_csv("your_file.txt", engine='python')
これを試して。それは完全に私のために働いた。
私も同じ問題を抱えていたので、許可を確認する必要があります。
chmod 644 file.csv
の後、うまくいきました。
名前が中国語であるcsvファイルを読み取ろうとすると、Win10 OSでも同じ問題が見つかります。その後、ファイルの名前をENに変更しても問題はありません。たぶん、ENで完全なcsvファイルパスを確認する必要があります。
OS: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')
すべてがOKです。
あなたを助けるために。
日本語のファイル名のファイルをロードしようとしたときも同じ問題が発生しました。
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")
それは私のために働いた。
Windowsでも同じ問題に遭遇しました。 Dan Leeが提供するソリューションを使用しようとしましたが、行と列で異常な結果が得られていました。これがcsvファイルの日本語文字によるものかどうかはわかりませんが、エンコード形式を明確に定義することで問題が解決しました。
import pandas as pd
pd.read_csv("your_file.txt", engine='python', encoding = "utf-8-sig")
あなたの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を使用する場合、印刷構文は角括弧なしで使用します。これがあなたを助けることを願っています
os.path.join()
を使用してパスを構築してみてください:
import os
rpath = os.path.join('U:','folder','Input','test.csv')
df = pd.read_csv(rpath, sep=';')
親ディレクトリに基づいてパスをトラバースするには、次を使用できます。
os.path.pardir
csvファイルのパーミッションを変更するだけで、うまくいくでしょう
chmod 750 filename.csv(コマンドライン)
または
!chmod 750 filename.csv(jupyterノートブック内)
pandas read_csv OSError:ファイルからの初期化に失敗しました
chmod 600 file.csv
を試すことができます。
ここで同じ問題の異なる解決策。
以前にExcelでファイルをロードしようとしましたが、Excelがクラッシュしましたが、Excelを強制終了すると予期したとおりにロードされるため、ファイルロックを保持している必要があります。