pandas.DataFrameをクリップボードにコピーするto_clipboard
pandas.DataFrame
のメソッドto_clipboard()
を使うと、その内容がクリップボードにコピーされる。そのままExcelやNumbersなどの表計算ソフトの任意の場所にペーストできる。
スクリプトファイル.py
だと使いにくいかもしれないが、Jupyter Notebookなどの対話的な環境で使うとすごく便利。特にサイズの大きいDataFrame
の内容をコピペしたいときはprint()
などで出力して選択するよりも楽。
なお、to_clipboard()
とは逆にクリップボードの中身をDataFrame
として読み取る関数read_clipboard()
も用意されている。以下の記事を参照。
また、クリップボードを介さずにCSVやExcelファイルに保存することも可能。
DataFrame
に限らずPythonでクリップボードを操作するにはpyperclipを使う。
to_clipboard()
デフォルトでは引数excel
がTrue
となっており、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
source: pandas_to_clipboard.py
excel=False
とすると、print(df)
で表示される文字列がそのままクリップボードに書き込まれる。
df.to_clipboard(excel=False)
# a b
# 0 0 3
# 1 1 4
# 2 2 5
source: pandas_to_clipboard.py
引数sep
で区切り文字を指定することもできる。
df.to_clipboard(sep=',')
# ,a,b
# 0,0,3
# 1,1,4
# 2,2,5
source: pandas_to_clipboard.py
そのほかの引数はto_csv
メソッドと共通。以下の記事を参照。