diadia

興味があることをやってみる。自分のメモを残しておきます。

python

elasticsearch python コードスニペット

接続して検索 from elasticsearch import Elasticsearch from elasticsearch_dsl import connections, Search from elasticsearch_dsl import Q es = connections.create_connection(hosts=['localhost'], port=9200) s = Search(using=es, index="animal", …

pipenvを使ってみる

ドキュメント Pipenvの基本的な使い方 — pipenv 2018.11.27.dev0 ドキュメント 前提 os ... macos python... anacondaではなくbrewでインストールしたpython インストール brew install pipenv 仮想環境作る pipenv --python 3.8 # 3.8でも3でよい。指定した…

言語横断整理 python, kotlin, javascript

配列、リスト オブジェクトの生成 pythonにはListがある。 foods = ["りんご", "ぶどう", "すいか", "なし"] foods = list("りんご", "ぶどう", "すいか", "なし") kotlinにはList, Array, ArrayListがある。 var foods:List<String> = listOf("りんご", "ぶどう", "</string>…

django-rest-authで"detail": "Authentication credentials were not provided."が返される時

参考 Django Rest Framework - Authentication credentials were not provided - Article - Python Decompiler Online エラーメッセージ {"detail": "Authentication credentials were not provided."} エラーに出くわした状況 rest-authのエンドポイント/re…

BeautifulSoupの使い方

BeautifulSoupのメモ windowsで使う場合には、anacondaで使うと良い。必要なライブラリはbeautifulsoup4とrequestsまたはurllib.requestである。 インストール https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-beautiful-soup pip insta…

django の画像(Media)アップロードに時間がかかる場合の対処

データを保存する際に小さなサイズにするとよい。それにはPillowのresizeが有効。なぜならアスペクト比を壊さないで済むから。 参考:https://djangosnippets.org/snippets/10597/ https://www.pynote.info/entry/pillow-resize

電話番号に最適なDjangoのフィールドは何か

https://stackoverflow.com/questions/19130942/whats-the-best-way-to-store-phone-number-in-django-models どうやらライブラリがあり、それを利用するのが良いようだ。使い方を随時まとめておく。 https://github.com/stefanfoulis/django-phonenumber-fi…

unittestのsys.exit()の抜け方

def tashizan(a,b): try: return int(a)+int(b) except ValueError: print("a,bは整数ではなく文字列の可能性があります") sys.exit(1) import unittest , tashizan class TestTashizan(unittest.TestCase): def test_tashizan_1(self): expected = 8 actual…

python csvファイルを結合

csvを結合する方法 ライブラリpandasを使う方法 open関数を使う方法 ライブラリpandasを使う方法 import pandas as pd csv_list = ['csv1_path', 'csv2_path', 'csv3_path', 'csv4_path'] pd_list = [pd.read_csv(file) for file in csv_list] df = pd.conca…

時間関係のオブジェクトを扱う

時間関係のモジュール timeとdatetimeが存在する。また時間についてはエポックタイムという概念も存在する。 time time.time()でエポックタイムを取得できる。 http://sweng.web.fc2.com/ja/program/python/time.html datetime 今の時間をとる。それはdateti…

dictの値にリストを使うときの注意点

dict[key] = dict[key].append("要素")の結果はNone dict型データの値にリストを設ける。そして必要な情報をリストに格納しようと思い以下のコードを書いた。 sample = dict(column1=[]) key = [key for key in sample.keys()][0] print(key) #1 column1 val…

python 組み合わせを作る

与えられた数字から組み合わせを作る 任意の数が与えられてそこからすべての組み合わせを作る場合どうすればよいのか。 標準ライブラリを使うとかんたんに処理できるようだ。 from itertools import combinations number_list = [1,2,3,4,5,6,7,8] list(comb…

python dictから最大値関連の情報を取り出す

何らかの状況で連続した入力に応じてその数をカウントする必要があるとする。このカウントは辞書型データにするとデータの取り扱いが楽になると思われる。問題は辞書型データから最大値や最小値の関連情報をいかにして取得するか。 例えば100人の血液型デー…

データの一般化

プログラミングの基礎を最近読んでいます。OCamlを使ってプログラミングの考え方を学ぶっていうのがこの本のコンセプトです。 https://www.amazon.co.jp/dp/4781911609/ データの一般化 本書120ページあたりから。概要は関数を作っていると似たような関数が…

デプロイ時にプロジェクトに必要なライブラリを漏れなくインストールする

結論:pip freezeを使う サーバーに必要なライブラリをインストールするために開発環境でpip freezeまたはpip listを使い確認しては、サーバーでライブラリをインストールしてきたが一気にインストールしてしまったほうが良い。 pip freeze > requirements.t…

python:自作モジュールのインポートについて

自作モジュール内でインポートをするのに困ったので解決方法をメモしておく。 そもそもimportするには? ディレクトリ以下にあるファイルをインポートすることができる。 MY_DIR----- myscript.py L--- myconfig.py L--- init.py カレントディレクトリがMY_D…

python:画像の保存

どうすれば画像を保存できるか書いておく。 データの種類 画像の保存にはバイナリタイプのデータが求められる。urllib3でurlにアクセスするとデフォルトでバイナリタイプの戻り値なので、画像を保存するには向いている。 保存方法 保存方法はファイルをバイ…

python: windowsとmacから同一のスクリプトを利用する方法

前提 dropboxにデータやスクリプトを配置している。 問題点 windowsとmacではcsvモジュールを使う場合以下の差異が存在する。 1.ファイルパスが異なる。 2.csvファイル書き込みの際にlineterminatorが必要か否か。 1.2も今まではwindows用、mac用のスクリプ…

Python:CSVモジュール使い方

関連記事 リスト型データをcsvに出力する方法 csvモジュールの使い方 リストデータをファイルとしてアウトプットしたい場合にcsvファイルにするのは便利。 csvモジュールの使い方をメモしておく。 csvモジュールはpythonの標準ライブラリなのでpip install c…

urllib3についてメモ

document https://urllib3.readthedocs.io/en/latest/index.html コードの流れを追う import urllib3 #1 http = urllib3.PoolManager() #2 r = http.request('GET', 'http://httpbin.org/robots.txt') #3 #1 import urllib3 https://github.com/urllib3/urll…

requestsを見てみる

そもそも requestsはurllib3をもとに作られている。requests.__init__.pyを見ればわかる。それでHTTPリクエストを送る関係のライブラリがpythonには複数ある。 urllib2, urllib(.request), urllib3. requests。これらについて理解するのも後々役に立つだろう…

エラー:AssertionError: You cannot call `.save()` on a serializer with invalid data.

AssertionError: You cannot call `.save()` on a serializer with invalid data. 上記のエラーが表示された。 エラーが出た状況: インスタンスを生成することを目的にdjango rest apiでrequests.post()をする。するとdjango アプリケーションで上記のエラ…

エラー:json.decoder.JSONDecodeError: Extra data

エラー内容とエラーが出た経緯 Traceback (most recent call last): File "execute.py", line 38, in <module> json.load(f) File "/anaconda3/lib/python3.6/json/__init__.py", line 299, in load parse_constant=parse_constant, object_pairs_hook=object_pairs_</module>…

csvファイル 辞書型データ jsonモジュールメモ

https://qiita.com/motoki1990/items/0274d8bcf1a97fe4a869 https://docs.python.org/ja/3/library/csv.html#csv.DictReader https://qiita.com/pscreator/items/6040bddbbf9e9c05f77a http://hktech.hatenablog.com/entry/2018/09/10/235725 djangoのRest A…

windowsでpython のgoogletransをインストールする方法

googletransはエラーが出る よく考えられるpip installでgoogletransをインストールするとエラーが出て使えない状況に陥る。この状況にはパッチされた新たなgoogletransをインストールすることで解決できる。 環境 windows10 anaconda やり方 https://stacko…

gunicornをインストールしてサービス公開

http://torajirousan.hatenadiary.jp/entry/2019/04/22/181826 collectstaticを実行 サーバーに/usr/share/nginx/html/media,/usr/share/nginx/html/staticディレクトリがあることを確認してcollectstaticを実行する。 # ディレクトリがない場合以下を実行 $…

エラー: django.db.utils.ProgrammingError: syntax error at or near "WITH ORDINALITY" LINE 6: FROM unnest(c.conkey) WITH ORDINALITY co...

エラー django.db.utils.ProgrammingError: syntax error at or near "WITH ORDINALITY" LINE 6: FROM unnest(c.conkey) WITH ORDINALITY co... 以上のエラーが発生した。 これはdjangoのmigrateコマンドを実行したときのエラーである。 環境 環境 ---------…

centos7 psycopg2のインストールエラー

sudo pip3.6 install psycopg2のエラー Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-70sqru_l/psycopg2/ 以上のようなエラーが出た。この問題には以下のように解決する。 https://ja.stackoverflow.com/questions/469…

さくらVPSを使ってdjangoを公開する まとめ

さくらVPSにcentos7を入れる http://torajirousan.hatenadiary.jp/entry/2019/03/31/011303 centos7の初期設定 サーバーへ安全にssh接続できるような設定を行う。 http://torajirousan.hatenadiary.jp/entry/2019/04/22/172101 条件は以下の通り。 root以外…

sqlite:DBに格納されたテーブルデータを確認する方法

djangoでは開発時にsqlite3が使われる。このDBに直接接続し、データを入れてみようと思った。そのときにテーブル名が必要になる。どのような名前のテーブルか 参考文献:https://crimnut.hateblo.jp/entry/2018/04/17/172709 import sqlite3 con = sqlite3.c…