日時のフォーマットを変更する
from datetimae import datetime
t = datetime.now()
fmt = t.strftime('%Y年%m月%d日 %H時%M分%S秒') #intftimeはない
print(fmt)
ファイル一覧を列挙
import glob
files = glob.glob("*.xlsx")
print(files)
range関数の注意
最小値,最大値+1 を設定する
tryとexcept
try: #インデントの内容でエラーが出なければインデント中の最後まで行く
print(1/ 0)
except ZeroDivisionError as e:
print(e)
print(type(e))
try:
例外が発生する可能性のある処理
except 捕捉したい例外クラス:
捕捉したい例外が発生した時に実行される処理
else:
例外が発生しなかった時のみ実行される処理
finally:
例外の発生有無にかかわらず実行したい処理
tryの下にやりたい内容を書く、エラーが出るとexceptに行く
URL存在確認
https://qiita.com/seigot/items/534ca3089d217200a1d6
import urllib.request, urllib.error
def checkURL(url):
try:#インデント内容についてエラーが出なければ最後まで、出たらexcept部分を実行
f = urllib.request.urlopen(url)#ここでURLオープンのエラーを確認
print ("OK:" + url )
f.close()
except:
print ("NotFound:" + url)
if __name__ == '__main__': # if〜はインポートしたとき勝手に実行しないようにするもの
url = "http://qiita.com/"
checkURL(url)
continue
# coding: utf-8
# xが3の時continueする
for x in range(5):
if x == 3:
continue
print(x)
実行結果
0
1
2
4
break
# coding: utf-8
# xが3の時breakする
for x in range(5):
if x == 3:
break
print(x)
実行結果
0
1
2
else
# coding: utf-8
# for文で、breakしない
for x in range(3):
print(x)
else:
print('else')
# for文で、breakする
for x in range(3):
if x == 2:
break
print(x)
else:
print('else')
実行結果
0
1
2
else
0
1
guiでボタンを横に https://pg-chain.com/python-pack-grid-place
import tkinter
# 画面作成
root = tkinter.Tk()
root.geometry('300x200')
# ボタン作成
btn = tkinter.Button(root, text='開始', width=14)
# 配置
btn.pack(fill = 'x', padx=20, side = 'left')
# ボタン作成
btn = tkinter.Button(root, text='終了', width=14)
# 配置
btn.pack(fill = 'x', padx=20, side = 'left')
root.mainloop()
Tkinterでウインドウを消す
tk.TK().withdraw()
# root.withdraw()はルートウィンドウを非表示にする関数
# ダイアログのみを表示するときに使う
openpyxl関連
# 横はロウ 縦はカラム
# 新規ブック作成
book = openpyxl.workbook()
# アクティブなシートを得る
sheet = book.acive #ブックのアクティブなやつ、という意味
# n番目のシートを得る
sheet = book.worksheets[n]
# シート名を指定して取得
sheet = book["シート名"]
# セルの値を得る
cell = sheet["A1"]
# セルに値を書く
sheet["A1"] = "test"
# 行と列を指定して値を設定
sheet.cell(row=1,column=1,value="こんにちは")
尚、値には=SUM()などもいれることが出来る
# 先に任意のセルを取得、その後値を設定
cell = sheet.cell(row=1,column=1)
cell.value="こんにちは"
# 連続でセルに値を設定
for i in range(10):
sheet.cell(row=(i+1),column=1,value=i)
# 範囲内のセルを得る1
for y in range (2,5):
r = [] #リストを宣言
for x in range(2,5):
v = sheet.cell(row=y,column=x).value
r.append(v)
# 範囲内のセルを得る2
for row in sheet["B2":"D4"]:
r = []
for cell in row:
r.append(cell.value)
# 範囲内のセルを得る3-イテレータを利用して、繰り返し範囲を取得して実行
it = sheet.iter_rows(
min_row=最小行,max_row=最大行,
min_col=最小列,max_col=最大列)
for row in it:
for cell in row:
r.append(cell.value)
# セル番号取得
cell.coordinate
# セル名から行番号と列番号を得る
cell = sheet["セル名"]
print(cell,row,cell.column)
# 行番号と列番号からセル名を取得する
cell = sheet.cell(row=x,column=y)
print(cell.coordinate)
# 計算済みの値がほしいときのブックロード方法 dataonly=True
book = excel.load_workbook(
"filename.xlsx",data_only=True0
# データが何行あるか不明な場合
rows =sheet["A3","F999"]
for row in rows:
values = [cell.value for cell in row]
if values[0] is None : break
# データのセーブ
book.save("filename.xlsx")