Colaboratory
Googleアカウントが必要
Google Docsのドキュメントのように、Googleドライブに保存しておける
Scrapboxページ上のコードの実行
実行されるコード
hello.pyprint('Hello Scrapbox World. ハロー Colaboratory')
Colaboratory側で実行
!curl -s https://scrapbox.io/api/code/villagepump/Colaboratory/hello.py | python
$ !curl -s https://scrapbox.io/api/code/villagepump/Colaboratory/hello.py | python
上記をブラウザで実行してみましたがエラー出ました
シンタックスエラー
文字は間違ってないんやけどなぁ
また自宅でもやってみよう
行頭の $ を付けていませんか?

書き方が悪かったかな
記法を修正しました
先頭の「!」から、おしまいのpython の「n」までコピペしてください
素人なので付けました😅
出来ました
そもそも行頭に
$
とか
%
をつける慣習があるのはなんでなんだろう

コピペするときじゃまになるだけなのに
#
のときはroot権限が必要なんだなとわかる

まあ滅多に恩恵を受けることはないが…
出力結果と混ざった時に区別できる

2024/10/5 上記は
コマンド記法にコピーのボタンがなかった頃の話です

今は安全にコピーできます
CSVファイルの読み込み
Colaboratory側で実行する
sb_read_csv.pyimport pandas as pd
df= pd.read_csv('https://scrapbox.io/api/table/villagepump/Colaboratory/data.csv')
print(df)
読み込まれるCSV
dataname | value |
おにぎり | 100 |
カップラーメン | 5 |
唐揚げ | 3 |
バナナ | 2 |
その他 | 1 |
JSONファイルの読み込み
Colaboratory側で実行する
sb_read_json.pyimport pandas as pd
df= pd.read_json('https://scrapbox.io/api/code/villagepump/Colaboratory/test.json')
print(df)
読み込まれるJSON
test.json{"col1":{"row1":1,"row2":2,"row3":3},"col2":{"row1":"x","row2":"y","row3":"z"}}
WebAPIを使って、Scrapboxページを取得
Colaboratory側で実行する
sb_webapi.pyimport urllib.request
import json
url = "https://scrapbox.io/api/pages/villagepump/Colaboratory"
res = urllib.request.urlopen(url)
data = json.loads(res.read().decode('utf-8'))
json.dumps(data, indent=2, ensure_ascii=False)