2019-07-17

Sqlite3,検索,複数カラム(フィールド)から同一の値があるレコードを簡略化して検索

データベース  Sqlite3
テーブル名  main
カラム(フィールド)  fn1, fn2, fn3, fn4

「 カラム fn1, fn2, fn3, fn4 に共通した値のレコードを検索する 」

fn1 = 99 , fn2 = 99, fn3 = 99, fn4 = 99 であるレコードを検索する

 ■ python3 プログラム

import sqlite3
db_name = "abc.sqlite"

conn = sqlite3.connect(db_name)
conect = conn.cursor()

sql = " SELECT * FROM  main  WHERE  fn1=99 or fn2=99 or fn3=99 or fn4=99 "

conect.execute(sql)
conn.close()


sql = を次のように簡略化できる

sql = " SELECT * FROM  main  WHERE  (fn1|fn2|fn3|fn4) in (99) "


値が fn1=99 または fn1=999 のときは

sql = " SELECT * FROM  main  WHERE  (fn1|fn2|fn3|fn4) in (99,999) "


値が fn1!=99 または fn1!=999 のときは

sql = " SELECT * FROM  main  WHERE  not (fn1|fn2|fn3|fn4) in (99,999) "


など、値が複数ある場合は便利な書式である。

2019-06-01

python,python3.xではurllib2は別なライブラリに置き換えられた

python3でurllib2をインポートしたところ、エラーが出力された。

$ pip3 install urllib2

Anaconda 使用時
$ conda install urllib2
を実行したところ、インストールできなかった。
調べてみると、
Python 3 で urllib2 は urllib.request, urllib.error に分割された。

追)2019-06-02
urllib3をインストールすることは可能
$ pip3 install urllib3
Anaconda 使用時
$ conda install urllib3

2019-05-25

python,pandasやnumpyのライブラリをインストールしたが、エラーが出る

OS : Linux Mint 19 xfce

python3 のライブラリ pandas をインポートするとエラーが出力される。
エラーメッセージは「numpy のインポートエラー」。

《 対処 》
$ pip uninstall -y pandas

$ pip uninstall -y numpy

のように pandas と numpy をアンインストールすると、エラーが解消されて正常に読み取った。 

apt や pip を使って二重にインストールした可能性がある。このために、ライブラリが正常に認識されなかったのかもしれない。

2019-05-23

python,anacondaでは、espeakライブラリは?

OS : Linux Mint

python には、文字を音声に変えるライブラリに espeak がある。
anaconda を利用した場合、ライブラリ espeak は使えなかった。

2019-03-25

python,spyder3をanaconda3から起動するのではなく、ソフトウェアの管理からインストールしたものを起動する

spyder3はanaconda3をインストールすることによって使用可能になる。

 しかし、プログラム実行時にフォントの不具合や、ライブラリの読み込み不具合の理由から「ソフトウェアの管理」からインストールしたものを使用する設定方法。

spyder3 があるフォルダは

/usr/bin

である。

メニューエディターに登録する場合のコマンド記述

/usr/bin/spyder3 %F

とし、詳細 項目で

Generic Name を Spyder3 (default)
Try Exec を spyder3
Mimetypes を text/x-python;


とした。

python プログラムを初めて使用する時
マウスメニュウーから
アプリケーションで開く -> 他のアプリケーションから開くで
メニューエディターで設定した Spyder3 (default)を一度選択すれば、
次回から、アプリケーションで開くの候補にプログラムが表示される。


python,tkinterでHTMLを使って表示する

ライブラリ tk_html_widgets を導入する。

参考サイト https://pypi.org/project/tk-html-widgets/


tk_html_widgets は HTML を使って、文字の大きさ、色、強調などのスタイルを変更できる。

一行内の文字色や強調を 上記のライブラリを使用しなくてもできるが、プログラムを簡素化することができる。

ただし、全ての HTML に対応しているわけではない。

2019-03-23

python, 読み上げプログラム

A)
OS : Mint 19 xfce
python 3.6

B)
Anaconda3
python 3.7

その1 A), B)

import os
os.system("espeak 'my picture'")

その2 B) talkeyをインストール

import talkey
tts = talkey.Talkey()
tts.say('I love Japan.')

その3 A) espeakをインストール

from espeak import espeak

espeak.set_voice("en")
espeak.synth("hellow word")
while espeak.is_playing:
	pass

その4 A) B)  gTTSをインストール

from gtts import gTTS
import os

tts = gTTS(text='I love Japan', lang='en')
tts.save("voice.mp3")
os.system("mpg321 voice.mp3")