🐍
DataFrameをマークダウンのテーブル形式に変換する
モチベーション: 執筆作業を楽にしたい!
- DataFrameをマークダウンのテーブル形式にしたい!
- テーブル形式の文字列をプログラムで書いたあと、手動でコピーするのが面倒くさい!
TL;DR
-
pd.DataFrame.to_markdown()
を使うとDataFrameをマークダウンでのテーブル形式に変換してくれる - 同時に
pyperclip.copy()
を使うとそのままクリップボードにコピーできるので物書きが捗る
サンプルコード
import pandas as pd
import pyperclip
# てきとーなDataFrameの準備
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Cathy'],
'age': [18, 25, 34],
'power': [1, 2.7, 3.14]
})
# マークダウンの形式(文字列型)に変換
table = df.to_markdown(index=True, floatfmt='.2f')
# クリップボードにコピー
pyperclip.copy(table)
上記table
は次のような文字列になっています。
| | name | age | power |
|---:|:-------|------:|--------:|
| 0 | Alice | 18 | 1.00 |
| 1 | Bob | 25 | 2.70 |
| 2 | Cathy | 34 | 3.14 |
pyperclip.copy(table)
でクリップボードに内容がコピーされているのでそのままペーストすればOK! もしこれがないと、いちいち出力をマウスカーソルで範囲指定しないといけないので面倒 👿
実行環境
$ sw_vers
ProductName: macOS
ProductVersion: 11.6
BuildVersion: 20G165
requirements.txt
pandas==1.3.3
pyperclip==1.8.2
tabulate==0.8.9
$ pip install pandas pyperclip tabulate
Discussion