Python3 pandas でクリップボードの内容を読んでDataFrameにする

こんにちは、kisseです。

今回は、Python pandasを使ってクリップボードの内容を読み書きしてDataFrameを扱う方法を書きます。

やりたいこと

よくあるのが、read_csvとかcsvファイルを読む方法ですね。
でもそれだと、わざわざExcelシートとかスプレッドシートからデータを取得するのが若干面倒です。
なので、クリップボードに保管した2次元データをコードから直接参照できると大変便利ですよね。

そこでpandasのread_clipboard()というメソッドの出番です。
使い方を解説して行きます。



書いたコード

まずは書いたコードですね。

import pandas as pd
dataframe = pd.read_clipboard()
dataframe

あらかじめクリップボードにコピーして実行すると、
実行結果(カラム名あり)
という表示がされます。
これは、クリップボードにコピーした2次元データにカラム名が入っているとこのようになりますが、カラム名が入ってない場合はどうなるでしょうか。

このようになります。
実行結果(カラム名なし)
2次元データの1行目がカラム名として取得されていますね。
これは意図した結果と異なります。

この場合には、引数の部分を変えてあげる必要があります。

import pandas as pd
dataframe = pd.read_clipboard(header = None)
dataframe

先ほどとクリップボードの内容を変更しないまま実行すると、
実行結果(カラム名なし, header = None指定)
このようにすると、カラム名が自動で生成されてることがわかります。

これらの2つのパターン使えれば、とりあえずやりたいことはできるようになりますよ!



まとめ

pandasのread_clipboard()超便利です。笑
2次元データを扱う際には、なかなか使える場面が多いです。
read_csv()とうまく使い分けることでかなり効率的に作業することができるんじゃないんでしょうか?

最後まで読んで頂きありがとうございます!

あわせて読みたい