会社説明動画をYouTubeで公開しました
会社説明動画をYouTubeで公開しました 昨年より続く世界規模の環境変化で、イベントをはじめとするオフラインのイベントが中止を余儀なくされています。そのため企業説明会や会社訪問で会うことができなかった多くの方に向けて、 […]
Filter by Category
会社説明動画をYouTubeで公開しました 昨年より続く世界規模の環境変化で、イベントをはじめとするオフラインのイベントが中止を余儀なくされています。そのため企業説明会や会社訪問で会うことができなかった多くの方に向けて、 […]
テキストファイルやCSVファイルに書き出す時に文字コードをShift-JISに指定して書き出すとエラーになる場合があります。よく見るのが、-や を変換した時に出るエラーで\uff0dや\xa0と表示されます。 […]
DjangoでWEBアプリケーションを開発していてデータベースの集計などをバッチ処理したいときに、カスタムコマンドを作り実行する方法です。 今回はサンプルとしてmycommandアプリケーションを作成するので以下のコマン […]
DjangoのWEBアプリケーションでQuerySetの表示順を五十音順にしたら、開発環境では五十音順で表示されているのに本番環境では五十音順になっていないときの対処法です。(中途半端に五十音順になっていて、4、5件毎に […]
iPhoneとiPadから使えるPythonistaというアプリを使ってFlaskからHello World!する方法です。 Pythonistaはプリインストールされたモジュールが充実していて、バージョンも2.7か3. […]
Djangoでモジュールを作りviews.pyからimportして呼び出す方法です。 同じ処理を何度も書いたり、同じ処理を複数回呼び出したりするときは、その処理をモジュール化してviews.pyからimportして呼び出 […]
平素は格別のお引立てを賜り、厚く御礼申し上げます。 誠に勝手ながら、弊社では下記日程をゴールデンウィーク休業とさせて頂きます。 2019年4月27日(土)~2019年5月6日(月) 期間中お客 […]
DjangoでQuerySetで取得したデータをそのままpandasのDataFrameに変換する方法です。データを成形する必要がないときや、とりあえず全件CSV化したいときなどに便利な方法です。
株式会社ファントムは、2019年3月29日をもちまして設立1周年を迎えることができました。この節目を迎えることができましたのも、ひとえに皆様からのご支援の賜物であり、ここに改めて深く感謝申し上げます。 2019年3月 株 […]
Djangoのテンプレートに範囲を渡す方法です。指定した月の全日数を表示したいときや日毎に処理をして表示させたいときなどにrangeに範囲を入れてテンプレートに渡せます。 views.py 現在の年と月を指定して総日数を […]
Django上でPandasで作ったCSVをダウンロードさせる方法です。df.to_csv(“filename.csv”)でも出力は出来ますがダウンロードは出来ないので、ダウンロード機能が必要な場 […]
テキストファイルやCSVファイルに書き出す時に文字コードをShift-JISに指定して書き出すとエラーになる場合があります。よく見るのが、-や を変換した時に出るエラーで\uff0dや\xa0と表示されます。
実際にエラーを出してみます。以下のプログラムを実行するとエラーが表示されます。
text = 'よく見るのが、-や を変換した時に出るエラーで\uff0dや\xa0と表示されます。'
text.encode('shift-jis')
Traceback (most recent call last):
File "<input>", line 1, in <module>
UnicodeEncodeError: 'shift_jis' codec can't encode character '\uff0d' in position 7: illegal multibyte sequence
‘\uff0d’ in position 7とあるので\uff0dが変換できてないということが分かります。
文字コードを変換する際にエラーとなる文字を変更します。
replaceを使って\uff0dを-に変更します。
text = text.replace('\uff0d', '-')
text.encode('shift-jis')
Traceback (most recent call last):
File "<input>", line 1, in <module>
UnicodeEncodeError: 'shift_jis' codec can't encode character '\xa0' in position 30: illegal multibyte sequence
今度は\xa0が変換できずにエラーになっているので、\xa0を削除します。
text = text.replace('\xa0', '')
text.encode('shift-jis')
無事にShift-JISに変換できました。
b'\x82\xe6\x82\xad\x8c\xa9\x82\xe9\x82\xcc\x82\xaa\x81A-\x82\xe2\x81\x95nbsp;\x82\xf0\x95\xcf\x8a\xb7\x82\xb5\x82\xbd\x8e\x9e\x82\xc9\x8fo\x82\xe9\x83G\x83\x89\x81[\x82\xc5-\x82\xe2\x82\xc6\x95\\\x8e\xa6\x82\xb3\x82\xea\x82\xdc\x82\xb7\x81B'
replaceを続けて書くと変換したい文字を複数変換できます。
text = text.replace('\uff0d', '-').replace('\xa0', '')
当ブログは群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。
Comments