質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

解決済

CSVアップロード機能の実装で、read_csvが2回以上使えない。

Tommy_suzuki
Tommy_suzuki

総合スコア5

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

1回答

0リアクション

0クリップ

219閲覧

投稿2022/07/28 08:33

前提

pythonのflaskでCSVアップロード機能を実装しております。

実現したいこと

送られてきたCSVをファイルをpd.read_csvで2回読み込みたいのですが、なぜか一回目のread_csvは通って、2回目のread_csvでエラーが出ます。
フロントエンドから送られてきたcsv_dataは一度read_csvすると中身がなくなるということはあるのでしょうか?

python

def upload(): csv_data = request.files['file'] df = pd.read_csv(csv_data,skiprows=[0,1,2,3,4],encoding="cp932",engine="python") print(df) df = pd.read_csv(csv_data,skiprows=[0,1,2,3,4],encoding="cp932",engine="python") print(df)

発生している問題・エラーメッセージ

python

Traceback (most recent call last): File "/usr/local/lib64/python3.7/site-packages/pandas/io/parsers/python_parser.py", line 376, in _infer_columns line = self._buffered_line() File "/usr/local/lib64/python3.7/site-packages/pandas/io/parsers/python_parser.py", line 584, in _buffered_line return self._next_line() File "/usr/local/lib64/python3.7/site-packages/pandas/io/parsers/python_parser.py", line 678, in _next_line next(self.data) StopIteration The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2088, in __call__ return self.wsgi_app(environ, start_response) File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2073, in wsgi_app response = self.handle_exception(e) File "/usr/local/lib/python3.7/site-packages/flask_cors/extension.py", line 165, in wrapped_function return cors_after_request(app.make_response(f(*args, **kwargs))) File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2070, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1515, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python3.7/site-packages/flask_cors/extension.py", line 165, in wrapped_function return cors_after_request(app.make_response(f(*args, **kwargs))) File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1513, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1499, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "./api/views/csv_upload.py", line 30, in upload df = pd.read_csv(csv_data,skiprows=[0,1,2,3,4],encoding="cp932",engine="python") File "/usr/local/lib64/python3.7/site-packages/pandas/util/_decorators.py", line 311, in wrapper return func(*args, **kwargs) File "/usr/local/lib64/python3.7/site-packages/pandas/io/parsers/readers.py", line 586, in read_csv return _read(filepath_or_buffer, kwds) File "/usr/local/lib64/python3.7/site-packages/pandas/io/parsers/readers.py", line 482, in _read parser = TextFileReader(filepath_or_buffer, **kwds) File "/usr/local/lib64/python3.7/site-packages/pandas/io/parsers/readers.py", line 811, in __init__ self._engine = self._make_engine(self.engine) File "/usr/local/lib64/python3.7/site-packages/pandas/io/parsers/readers.py", line 1040, in _make_engine return mapping[engine](self.f, **self.options) # type: ignore[call-arg] File "/usr/local/lib64/python3.7/site-packages/pandas/io/parsers/python_parser.py", line 113, in __init__ ) = self._infer_columns() File "/usr/local/lib64/python3.7/site-packages/pandas/io/parsers/python_parser.py", line 398, in _infer_columns raise EmptyDataError("No columns to parse from file") from err pandas.errors.EmptyDataError: No columns to parse from file

一回目のread_csvで読み込んだdfはprintされていました。
どのようにしたらいいでしょうか?

補足情報(FW/ツールのバージョンなど)

python3系、VScode

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。