60歳からITエンジニアを目指す無謀なブログ

60歳で定年し、職種を変更してIT技術者を目指すブログです。

pyscript でレスポンシブにwebにデータフレームを表示

pyscriptを使うと簡単にwebページでレスポンシブ対応の

表示ができるらしいの、pandasのデータフレームを表示してみました。

 

なかなか、DFを表示するだけのサンプルがなくて、エラーの連続でしたが、

色々なサイトを

見て、以下のコードで動かすことができました。

id="csv"でElement("csv")と関連付けるのが重要でした。

 

表示は結構遅いですが、ローカルサイトの中でサービス場合なら

ユーザも待ってくれそうな感じですが、

本番環境で使うにはもっと早く処理されないと、待ち時間がストレスで

使えなさそうです。

 

---------------------------sample.html -----------------------

<html>
  <head>
    <title>data frame reader</title>
    <meta charset="utf-8">      #以下2行はpyscriptを使用するためのおまじない
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
  </head>
  <body>
    <h1> my data frame read</h1>
    <p id = "csv"></p>  
    <py-config>
      packages = ["matplotlib", "pandas"]
    </py-config>

    <py-script>
      import pandas as pd
      import matplotlib.pyplot as plt
      from pyodide.http import open_url

      url = ("https://www.somwhere my csv repository/sample.csv")  <<--ここにcsvの場所
      DF = pd.read_csv(open_url(url))
      csv = Element('csv')     <- pyscript特有のコマンド?
      csv.write(DF.head())     <-     〃
    </py-script>
  </body>
</html>