PyMySQL 挿入:Python モジュール

PyMySQLモジュールを使うとPythonからMySQLを操作できる。
・簡単な例文

import pymysql
connection = pymysql.connect(host = 'xxx.com',
                             db = 'database-name',
                             user = 'user-name',
                             passwd = 'password',
                             charset = 'utf8',
                             cursorclass = pymysql.cursors.DictCursor)
cursor = connection.cursor()
sql = "INSERT INTO `tablename` (`id`,`name`) VALUES ('1','123')"
cursor.execute(sql)
connection.commit()
connection.close()

まずpipでPyMySQLモジュールをインストール。
1行目は、PyMySQLをインポート。
2行目から7行目は、操作するMySQLがインストールされている場所や
ログインに関する内容。

PyMySQLを使うことでCSVデータをMySQLに挿入することが可能。

import pymysql
import csv
connection = pymysql.connect(host = 'xxx.com',
                             db = 'database-name',
                             user = 'user-name',
                             passwd = 'password',
                             charset = 'utf8',
                             cursorclass = pymysql.cursors.DictCursor)
cursor = connection.cursor()
f = open("test.csv", "r")
reader = csv.reader(f)
for row in reader:
	sql = "INSERT INTO `table-name` values(%s,%s,%s)"
	cursor.execute(sql,(row[0],row[1],row[2]))
f.close()
connection.commit()
cursor.close()
connection.close()

CSVファイルの中身は、下記。

1,111,11111

基本的にレンタルサーバーは、MySQLの外部接続に対応していない所が多い。
大体が高いプランや専用サーバー、VPSプランなどが対応している。
KAGOYAがDBのみレンタルしているプランがある。
5GBで500円(HDD)、SSDの場合で700円でお手軽。
10GBまで対応で1GB増えるごとに料金が加算される。

PyAutoGUI 自動化:Python モジュール

PyAutoGUIモジュールを使うとテキスト入力やマウス操作を使うことができる。
・簡単な例文

import webbrowser
import pyautogui
import time
url = "https://www.google.com/"
webbrowser.open(url)
time.sleep(10)
pyautogui.click(1300,150)
time.sleep(10)
pyautogui.click(560,480)
pyautogui.typewrite("xxx@gmail.com")
pyautogui.hotkey("enter")
timesleep(10)
pyautogui.click(560,720)
pyautogui.typewrite("password")
pyautogui.typewrite("enter")

pipでPyAutoGUIインストール。
まず、必要なモジュールをインポート。
6行目は、ブラウザが立ち上がって読み込みまで猶予の時間。
7行目は、モニターのx軸とy軸の場所を示し、マウス操作をしている。
10行目は、テキスト入力をしている。
11行目は、キーボード操作を行っている。

復習問題:Python

Q.1 – 1時間は、何秒か?
   1分の秒数(60)に2時間の分数(60)をかけて計算。

Q.2 – Q1の結果をPython2という変数に代入。

Q.3 – 1日は何秒か?Python2変数を使って計算。

Q.4 – 1日の秒数を計算し、Python3という変数に代入。

Q.5 – Python3をPython2で割る。
   ※浮動小数点除算(/)を使う。

Q.6 – 今度は整数除算(//)を使用し、Python3をPython2で割る。
   この数値は、最後の.0を除いてQ.5の結果と同じか?


A.1
--------------
60 * 60
3600
A.2
--------------
Python2 = 60 * 60
A.3
--------------
Python2 *24
86400
A.4
--------------
Python3 = 60 * 60 * 24
A.5
--------------
Python3 / Python2
24.0
A.6
--------------
Python3 // Python2
24

不易を知らざれば基立ちがたく、流行を知らざれば風新たならず

文字列 その3:Python

– – – 大文字と小文字の区別、配置 – – –
文字列から.を取り除く。

ai = 'python go r...'
ai.strip('.')
'python go r'

先頭の単語をタイトルケース(先頭文字だけ大文字)にする。

ai.capitalize()
'Python go r...'

すべての単語をタイトルケースにする。

ai.title()
'Python Go R...'

すべての文字を大文字にする。

ai.upper()
'PYTHON GO R...'

逆にすべて小文字にする。

ai.lower()
'python go r...'

すべての文字を大文字にする(または小文字にする)。
下記は、pをタイトルケースにした後、逆さにする。

ai = ai.capitalize()
ai.swapcase()
'pYTHON GO R...'

文字列のレイアウトを操作する関数。
指定したスペース(例20)の中でどこに配置さるか決める。

ai.center(20)
'   Python go r...   '

左端に配置する。

ai.ljust(20)
'Python go r...      '

右端に配置する。

ai.rjust(20)
'      Python go r...'

– – – replace()による置換 – – –
replace() を使えば置き換えができる。

ai.replace('go', 'google')
'Python google r...'

次のようにすると回数分を置換できる。(例、10回)

ai.replace('go', 'google',10)

※Pythonは、その他にも多くの文字列操作関数が存在します。

文字列 その2:Python

– – – len()による長さの取得 – – –
len() は、文字列内の文字列の長さを数えるPythonの組み込み関数である。

abc = 'Python'
len(abc)
6

– – – split()による分割 – – –
split() は、文字列を分割することができる組み込み関数。

abc = 'Python,JAVA,javascript,PHP'
abc.spit(',')
['Python','JAVA','javascript','PHP']

splitの括弧内のカンマで区切られ角かっこで囲まれた値になる。

– – – join()による結合 – – –
join() は、split() の逆で、
文字列のリストをひとつの文字列に結合する。

abc = ['HTML','CSS','jQuery']
abc2 = ','.join(abc)
print(abc2)
HTML,CSS,jQuery

カンマを間に挟んでリストに含まれている名前を結合する。

– – – 多彩な文字列操作 – – –
Pythonには、多くの文字列関数をもっている。
その中でもよくつかわれる関数を例に。

abc = '''python java javascript php html css jquery'''
abc[:11]
'python java'

この文には、何文字が含まれているか?

len(abc)
38

先頭の文字は、pythonになっているか?

abc.startswith('python')
True

末尾の文字は、jqueryになっているか?

abc.end('jquery')
True

文の中でjavaという単語が現れる箇所のオフセットを調べる

aaa = 'java'
abc.find(aaa)
7

最後のjavaのオフセットもわかる

abc.rfind(aaa)
12

javaという4文字のシーケンスは、何回出てきたか?

abc.count(aaa)
2

この文は、英語か数字になっているか?

abc.isalnum()
False
aaa.isalnum()
True

上記の方は記号も使われているからFalseになる。