pandas.DataFrameをクリップボードにコピーするto_clipboard

Modified: | Tags: Python, pandas

pandas.DataFrameのメソッドto_clipboard()を使うと、その内容がクリップボードにコピーされる。そのままExcelやNumbersなどの表計算ソフトの任意の場所にペーストできる。

スクリプトファイル.pyだと使いにくいかもしれないが、Jupyter Notebookなどの対話的な環境で使うとすごく便利。特にサイズの大きいDataFrameの内容をコピペしたいときはprint()などで出力して選択するよりも楽。

なお、to_clipboard()とは逆にクリップボードの中身をDataFrameとして読み取る関数read_clipboard()も用意されている。以下の記事を参照。

また、クリップボードを介さずにCSVやExcelファイルに保存することも可能。

DataFrameに限らずPythonでクリップボードを操作するにはpyperclipを使う。

to_clipboard()

デフォルトでは引数excelTrueとなっており、DataFrameの内容がタブ\t区切りでクリップボードに書き込まれる。ExcelやNumbersなどの表計算ソフトにそのままペーストできる。

import pandas as pd

df = pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]})
print(df)
#    a  b
# 0  0  3
# 1  1  4
# 2  2  5

df.to_clipboard()

#   a   b
# 0 0   3
# 1 1   4
# 2 2   5

excel=Falseとすると、print(df)で表示される文字列がそのままクリップボードに書き込まれる。

df.to_clipboard(excel=False)

#    a  b
# 0  0  3
# 1  1  4
# 2  2  5

引数sepで区切り文字を指定することもできる。

df.to_clipboard(sep=',')

# ,a,b
# 0,0,3
# 1,1,4
# 2,2,5

そのほかの引数はto_csvメソッドと共通。以下の記事を参照。

関連カテゴリー

関連記事