みなさん、こんにちは。
今回はPYTHONでクリップボードに出力する方法を紹介しようと思います。
クリップボードに出力する理由
あるテキストデータをHTML化して、WordPressのHTMLブロックに貼り付けるようにしています。
出力する時はコマンドプロンプトに出力したり、ファイルに出力したりましていました。
しかし、作業的には出力されたデータをコピーして、指定箇所にペーストする作業になります。
そうであれば、出力されたデータをコピーする手作業をPYTHONのブログラムで出来ないかと考えました。そうすれば、プログラム実行後は、Ctrl+v(貼り付け)作業だけで済みます。
また、出力されたデータをコピーする作業が面倒に思ったりもしていました。コマンドプロンプトでは、出力されたデータが多ければ、最初のコマンドラインに戻るのが面倒です。プログラムを何度も実行していれば、どれがどれだかわからなくなってしまいます。
ファイルに出力するにしても、出力先のファイルを逐一閉じたり、リロードしなければなりません。
クリップボードに書き込めば、これらの作業が無くなり、作業の効率化を図ることが出来ます。
サンプルプログラムの説明
下記のアメリカ経済指標の一部をHTMLタグ化し、そのデータをクリップボードにコピーするプログラムを作成します。
22:45 非製造業PMI 54.9
22:45 総合PMI 55.0
21:15 ADP雇用統計 +568千人
使用するライブラリ pyperclip
今回使用するライブラリは『pyperclip』になります。
インストールされていないければ、下記のコマンドを実行してインストールをして下さい。
pip install pyperclip
プログラムコードの説明
import pyperclip
file = 'C:/Labo/buffer2/data.txt'
line2 =''
with open(file,'r',encoding="utf-8") as f:
for line in f:
line1 = line.split()
line2 += "<tr>\n<td>" + line1[0] + "</td>\n<td>" + line1[1] + "</td>\n<td>" + line1[2] + "</td>\n</tr>\n"
pyperclip.copy(line2)
1行目 ライブラリのインポート
import pyperclip
ライブラリ『pyperclip』をインポートします。
3,4行目 読み込みファイルの定義、変数の定義
file = 'C:/Labo/buffer2/data.txt'
line2 =''
data.txtは、先述したアメリカの指標データを記載したデータになります。
line2は、クリップボードに格納するデータの変数になります。データ内を無にする為に、” で囲っています。
6~11行目 データを変換、データを格納
with open(file,'r',encoding="utf-8") as f:
for line in f:
line1 = line.split()
line2 += "<tr>\n<td>" + line1[0] + "</td>\n<td>" + line1[1] + "</td>\n<td>" + line1[2] + "</td>\n</tr>\n"
ファイルを読み込む際に、文字化けする時は encoding(文字コード)の値を変更して下さい。utf-16、shift_jis 、 euc_jp などがあります。
データは下記のように空白で区切られているので、split() でデータ別けをし、データ毎にHTMLタグを施していきます。\nは改行コードになります。
22:45 非製造業PMI 54.9
22:45 総合PMI 55.0
21:15 ADP雇用統計 +568千人
line2 += することにより、一行ずつline2にデータが追加格納されていきます。
12行目 グラフデータをHTML出力
pyperclip.copy(line2)
line2のデータをクリップボードにコピーします。これで完了です。
実際にテキストファイルにCtrl+v(貼り付けのショートカット)もしくは、編集の貼り付けをして、作成されたデータが出力されるかを確認して下さい。
まとめ
いかがだったでしょうか。
変換したデータの貼り付けをしたい時には、クリップボードを使うのは非常に便利です。
是非、試してみて下さいね。
「役に立った!」と思れましたら、下のSNSボタンで記事のシェアをしていただけると嬉しいです!
コメント