5

StringIO は、テキストから pandas データフレームを読み取るときに使用するファイルのような文字列バッファー オブジェクトです。たとえば、「文字列から Pandas DataFrame を作成する方法は?」

StringIO (pandas 内) には、これら 2 つのインポートのどちらを使用する必要がありますか? これは、4 年以上解決されていない長期にわたる問題です。

  1. StringIO.StringIO(パイソン 2) / io.StringIO(パイソン 3)
    • 利点: コードの将来性を保証するためにはより安定していますが、バージョン フォークを余儀なくされます。たとえば、EmilH の下部にあるコードを参照してください。
  2. pandas.compat.StringIO

標準からのインポート用のバージョン 2/3 フォーク コード (EmilH から):

import sys
if sys.version_info[0] < 3: 
    from StringIO import StringIO
else:
    from io import StringIO

# Note: but this is very much a poor-man's version of pandas.compat, which contains much much more

ノート:

4

2 に答える 2

3

これは古い質問であることは承知していますが、ここでパンくずリストをたどったので、おそらくまだ答える価値があります。完全に決定的なものではありませんが、現在の Pandas のドキュメントでStringIOは、独自の内部メソッドではなく、組み込みのメソッドを使用することが推奨されています。

クラスを使用する例については、StringIO必ずfrom io import StringIOfor Python 3 でインポートしてください。

于 2021-08-11T11:02:53.637 に答える