from datetime import datetime
now = datetime.now()
now_div = Element("now")
now_div.element.innerHTML = f"現在の時間は{now:%Y年%m月%d日 %H時%M分%S秒} です。"
現在時刻を取得
from datetime import datetime
def get_now():
now = datetime.now()
display(f"{now:%Y年%m月%d日 %H:%M:%S}", target="now")
[[fetch]]
from = "https://raw.githubusercontent.com/pyconjp/pycon.jp.2022/develop/content/"
files = ["timetable.csv"]
import csv
with open("timetable.csv") as f:
languages = [row["language"] for row in csv.DictReader(f)]
for lang in set(languages):
display(f"{lang}: {languages.count(lang)}", target="result")
こんにちは!
Toggle Message
def toggleMessage():
message_div = Element('message')
if message_div.element.innerHTML == 'こんにちは!':
message_div.element.innerHTML = 'さようなら!'
else:
message_div.element.innerHTML = 'こんにちは!'
add_event_listenerを使おう
from js import console, document
from pyodide.ffi.wrappers import add_event_listener
def click_handler(*args):
console.log(f"argを取得したよ! {args}")
add_event_listener(document.getElementById("eventListen"), "click", click_handler)
これはリクエストのサンプルです。
以下が出力結果になります。
import asyncio
import json
from request import request # 作成したrequest.pyからインポート
async def main():
baseurl = "https://jsonplaceholder.typicode.com"
# GETリクエスト
headers = {"Content-type": "application/json"}
response = await request(f"{baseurl}/posts/2", method="GET", headers=headers)
print(f"GETリクエスト=> status:{response.status}, json:{await response.json()}")
# POSTリクエスト
body = json.dumps({"title": "test_title", "body": "test body", "userId": 1})
new_post = await request(f"{baseurl}/posts", body=body, method="POST", headers=headers)
print(f"POSTリクエスト=> status:{new_post.status}, json:{await new_post.json()}")
# PUTリクエスト
body = json.dumps({"id": 1, "title": "test_title", "body": "test body", "userId": 2})
new_post = await request(f"{baseurl}/posts/1", body=body, method="PUT", headers=headers)
print(f"PUTリクエスト=> status:{new_post.status}, json:{await new_post.json()}")
# DELETEリクエスト
new_post = await request(f"{baseurl}/posts/1", method="DELETE", headers=headers)
print(f"DELETEリクエスト=> status:{new_post.status}, json:{await new_post.json()}")
asyncio.ensure_future(main())
ほかのメソッドもこちらでご覧になれます:
https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters
こちらでより詳しい情報がご覧になれます。:
https://pyodide.org/en/stable/usage/api/python-api.html#pyodide.http.FetchResponse
テストボタン
pip install yfinance
from datetime import date, timedelta
from pandas_datareader import data as pdr
import yfinance as yfin
yfin.pdr_override()
today = date.today()
startday = today - timedelta(days=20)
ticker = "VOO"
ticker_data = pdr.get_data_yahoo(ticker, startday)
print(ticker_data)
print("\n")
print('*************************')
print("\n")
# DataFrameからデータを削除する方法(列タイトル指定か列番号指定で削除)
#ticker_data_close = ticker_data.drop(columns=['Open', 'High', 'Low', 'Adj Close', 'Volume'])
ticker_data_close = ticker_data.drop(columns=ticker_data.columns[[0,1,2,4,5]])
print('ticker_data_close= '+ format(ticker_data_close),)