カテゴリー
コンピューター

【Python3】【クリップボード】エクセルでコピーした範囲を縦一列にペーストできるデータに編集するコード

やりたいこと

  • 入力: エクセルを範囲選択して、コピーしたもの
  • 出力: ペーストすると、1セル1行のテキストとして貼り付けられる。

エクセルのセルを範囲選択し、それを縦一列にして貼り付けるということを繰り返すことがありました。
あまりに単純作業で辛かったため、Python3 の勉強がてらスクリプトを作って使いました。

今回はそれをノートいたします。

環境

  • Python 3.6.4
  • Windows 7 Professional 32 bit
  • Excel 2013

作ったコード

import pyperclip

cb = pyperclip.paste()
cb_splited = cb.split('\t')
# エクセル等のセル内で改行した場合、最初と最後に半角ダブルクォーテーションがあり、これを除去
cb_splited_striped = [
    v.strip('"') for v in cb_splited
]
cb_splited_striped_text = '\r\n'.join(cb_splited_striped)
print('クリップボードは以下の状態に編集されます。')
print(cb_splited_striped_text)
pyperclip.copy(cb_splited_striped_text)

注意点(2018年1月6日追記)

  • \ を ¥ に間違えていたたため最初、動かなかった。

おわりに

GitHub にアップしました。

Python は書き始めて数日程度ですけれども、スクリプトを書くにあたって次のページが参考になりました。ありがとうございます!

以上です。

コメントを残す