diadia

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

python

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

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

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…

sqlite3:エラー対処:sqlite3.OperationalError: near ")": syntax error

sqlite3.OperationalError: near ")": syntax error このエラーがたまに出て、足止めをくらうのでメモにしておく。 コード cur.execute("INSERT INTO mydb VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,)", (url,title,description,price,None,None,None,None,None,…

sqlite3データベースの変更

sqlite3で既存のデータベースを修正したデータベースを作る必要が出てきた。 この作業は自分にとってヘビーだったので楽してできる方法を考る。今後同じケースにあたったときのために。 今回の方法 今回は別のファイルを作成した。拡張子がない”mydb”がファ…

SQLAlchemy:エラー対処:sqlalchemy.exc.ArgumentError: Unknown arguments passed to Column: ['precision', 'asdecimal']

エラーコード sqlalchemy.exc.ArgumentError: Unknown arguments passed to Column: ['precision', 'asdecimal'] コード class Product(Base): __tablename__ = 'mydb_jp' description = Column(Text) price = Column(Float, precision=(10,0), asdecimal=Tr…

SQLAlchemy:エラー対処:sqlalchemy.exc.OperationalError: (OperationalError) unable to open database file None None

エラーメッセージ: sqlalchemy.exc.OperationalError: (OperationalError) unable to open database file None None エラーが出た背景 sqlite3のデータベースを読み込みいろいろ変更しようとする際に起きた。 エラー部分 engine = create_engine('sqlite://…

SQLAlchemy

参考文献:https://it-engineer-lab.com/archives/1183 sqlite3とdjangoのmodelsとSQLalchemyの共通点と差異についてメモできるとよい。 sqliteはそもそもすべてのデータをテキストのデータとして保存している。。。? https://blog.ohgaki.net/sqlite-data-…

psycopg2についてメモ

分からないことは、pysopg2とpsycopg2-binaryの違い。これはどうやって使い分けるのか。コンパイラや外部のライブラリ等を必要としないのがバイナリの方らしい。 そういう使い分け。 You can also obtain a stand-alone package, not requiring a compiler o…

staticについて理解を深める

まず開発中の場合、django.views.static.serve() ビューを用いてstaticファイル、mediaファイルを配信するようだ。 https://docs.djangoproject.com/ja/2.1/howto/static-files/#serving-static-files-during-development https://docs.djangoproject.com/ja…