俺言語。

自分にしか理解できない言語で書かれた備忘録

【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