【Python】クリップボードからデータ取得
沢山の方法があってどれを使うといいのか迷ってしまう。
いくつか試したのでその結果のメモ。
1. win32clipboard(pywin32の一部と思う)
# ストリームを開く win32clipboard.OpenClipboard() # データ取得 win32clipboard.GetClipboardData() # ストリームを閉じる win32clipboard.CloseClipboard()
これは簡単
これだと例えばエクセルのセルを複数コピーした状態だと
すべてつながって1つのstrになる。
np.array()でndarryaに変換しようとするとMemoryErrorがでて使い物にならなかった。。
2.pandasのread_clipboard
これは大きなデータでも処理できた(1.でダメだった65534行のエクセルデータでもok)
これはデータフレーム型で読み込まれるので
as_matrixなどで変換が必要
clipdata = pd.read_clipboard() outdata = clipdata.as_matrix()
こちらが非常に参考になった↓
jn1inl.blog77.fc2.com
【Python】matplotlibのフォントを変えた際にクリアする必要のあるキャッシュ
フォントのキャッシュを消去しないと新しいフォントが使えない。
キャッシュの場所は
import matplotlib
matplotlib.get_cachedir()
でわかる。
ここにある"fontList.cache"を消去すること。
フォントの変え方はこちらを参考に。
qiita.com
【Python】threadを使った時のプチはまり
threadのインスタンスを作成して別スレッドを作成する際の
プチはまり
# 関数hogeに引数numで与えて別スレッドで動かす例 self.th = threading.Thread(target = self.hoge, name="th", args=(num,)) self.th.start()
引数の"args=()"はタプルが必要なので
一つしかない場合は"num,"とすること。
【Python】プログラムでキーを自動的に押す(キーを送る)
あるアプリケーション上で自動的にキーを連打する必要が出たので
調べた時のメモ
# F5を押す ctypes.windll.user32.keybd_event(116,0,0,0) # F5を放す ctypes.windll.user32.keybd_event(116,0,0,2)
キーコード(バーチャルキーコード)はこちらを参考にさせてもらった。
涼の頁 - 工房
【Windows】Windows APIの便利なリスト
ctypesが使える様になってAPIを調べる機会が増加。
よいサイトを見つけたのでメモ。
https://msdn.microsoft.com/ja-jp/windows/hh240557#10
使い方は
# user32.dllの場合,keybd_eventの場合 ctypes.windll.user32.keybd_event(**,0,0,0) # kernel.dllの場合 ctypes.windll.kernel32.****