Django:No module named ‘cStringIO’

Django:No module named ‘cStringIO’

Django:No module named ‘cStringIO’

StringIOを使おうとしたところ「そんなモジュールはねぇ」と怒られてしまいました。

ググって【StringIO】というモジュール名で実装している事例もチラホラ。
で変更してみましたが結果は変わらずでした。

原因:python3にはモジュールが存在しない

え?そんな理由ですか。
Python2では存在していたcStringIO ですが、Python3ではioの中に格納された様子。
という事で、こんな形で実装すればOKでした。

参考サイト_1  参考サイト_2

StringIOモジュールで出来る事

Excelのような入力画面を作る事ができます。参考サイト_3

まぁ別にExcelチックにしなくてもよいのですが、データの読込/書き込み/出力といった動作を簡単に実装してくれるのでとても便利です。

某サイトの参考スクリプト

私は案件探しのためのネタを兼ねて作成した【業務経歴書出力システム】を組んだ際に利用しました。

まとめ

まさかインポートの仕方が変わっているとは思いもしませんでした。
沢山の情報があるとありがたい反面、こういったバージョンによる違いには気を付けなくてはいけませんね。