LoginSignup
0
1

More than 3 years have passed since last update.

Python自分用チートシート

Posted at

日時のフォーマットを変更する

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")
0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1