問題タブ [python-2to3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python で BeautifulSoup をインポートする際のエラー
を使用してスクリプトを実行するとfrom bs4 import BeautifulSoup
、次のエラーが発生します。
pandas - pandas.compat.StringIO または Python 2/3 StringIO を使用する必要がありますか?
StringIO は、テキストから pandas データフレームを読み取るときに使用するファイルのような文字列バッファー オブジェクトです。たとえば、「文字列から Pandas DataFrame を作成する方法は?」
StringIO (pandas 内) には、これら 2 つのインポートのどちらを使用する必要がありますか? これは、4 年以上解決されていない長期にわたる問題です。
StringIO.StringIO
(パイソン 2) /io.StringIO
(パイソン 3)- 利点: コードの将来性を保証するためにはより安定していますが、バージョン フォークを余儀なくされます。たとえば、EmilH の下部にあるコードを参照してください。
pandas.compat.StringIO
- pandas.compat は、0.13.0 (2014 年 1 月) に導入された 2/3 互換パッケージ (「2to3 を必要としない」) です。
- pandas.compatパッケージは 0.22 の時点でまだ「プライベート」とマークされており、「パブリック」にする予定はありませんこれらのモジュールでは保証されません。」0.13以降、基本的に壊れていませんが
- pandas.compat ソースは、インポート
builtins, StringIO/cStringIO, BytesIO, cPickle, httplib
、範囲、フィルター、マップ、および zip のイテレーター バージョン、および Python 3 互換性のために必要なその他の要素を定義します - 0.13.0 whatsnewを参照してください
標準からのインポート用のバージョン 2/3 フォーク コード (EmilH から):
ノート:
pandas.compat
pandas 0.13.0 (2014 年 1 月) 以降、pandas 内のサブパッケージとして存在- スタンドアロン パッケージとしてもリリースされているようです: 0.1.0 (2017 年 6 月 10 日) および 0.1.1 (2017 年 6 月 10 日)