Posts
【Python】openpyxlで棒グラフ・折れ線グラフを表示させる【公式から引用】
- 作成日時:
- 最終更新日時:
- Categories: others
- Tags: Python Pythonライブラリ openpyxl
コードは公式から引用し、一部編集している https://openpyxl.readthedocs.io/en/stable/charts/bar.html https://openpyxl.readthedocs.io/en/latest/charts/line.html ソースコード from openpyxl import Workbook from openpyxl.chart import BarChart, Reference #書き込みモードでワークブックを作る wb = Workbook(write_only=True) #シートを作る ws = wb.create_sheet() #データ rows = [ ['番号', '算数', '国語'], [1, 50, 70], [2, 60, 30], [3, 40, 60], [4, 50, 70], [5, 20, 40], [6, 60, 40], [7, 50, 30], ] #書き込み for row in rows: ws.append(row) #棒グラフを作る chart1 = BarChart() chart1.type = "col" chart1.style = 10 #タイトル、横軸・縦軸の指定 chart1.title = "グラフタイトル" chart1.y_axis.title = "点数" chart1.x_axis.title = " ...【Python】気象庁のサイトから特定の都市の月ごとの平均気温をスクレイピングする
- 作成日時:
- 最終更新日時:
- Categories: サーバーサイド
- Tags: スクレイピング Python BeautifulSoup
気象庁のサイトで都市の月ごとの平均気温を表示させる 下記サイトへ行く。 https://www.data.jma.go.jp/obd/stats/etrn/index.php 地点を選択 月ごとの値を表示する 下記画像の1で地点を選ぶ、続いて月ごとの値を表示する これで問題のページにたどり着く https://www.data.jma.go.jp/obd/stats/etrn/view/monthly_s3.php?prec_no=44&block_no=47662&year=&month=&day=&view= 今回はこれをスクレイピングする。 ソースコード import requests, bs4 URL = "https://www.data.jma.go.jp/obd/stats/etrn/view/monthly_s3.php?prec_no=44&block_no=47662&year=&month=&day=&view=" #サイトへアクセス result = requests.get(URL) #構文解析(※ブラウザに表示されているHTMLとrequestsとBeautifulSoupで取得したHTMLは異なる場合がある。) soup = ...【CSS3】checkboxとlabelを使ってサイドバーを作る【コンパクト】
以前作成したHTMLとCSSのサイドバーは、見た目は非常にわかりやすいが、場所を取る上に見た目がイマイチ。 そこで、HTMLとCSSだけでサイドバーを作るギミックは踏襲し、デザインだけ変更することにした。 ソースコード HTML <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hello World test!!</title> <link rel="stylesheet" href="style.css"> </head> <body> <input id="sidebar_chk" class="sidebar_chk" type="checkbox"> <div class="sidebar_area"> <div class="sidebar_content"> <div>サイドバー</div> <div>サイドバー</div> <div> ...【Linux】grepとsedとxargsで複数のファイルに点在する誤字を一括修正(置換)する
【Django】sympyで計算した結果をLatex記法でHTML上に出力、mathjaxを使って数式を表示
- 作成日時:
- 最終更新日時:
- Categories: サーバーサイド
- Tags: Pythonライブラリ JavaScriptライブラリ Django Latex Python JavaScript
【HUGO】作成日時と最終更新日時を表示させる【SEO対策】
SEO対策として、記事の更新日を記録することにした。 これまでは作成日時と最終更新日時が兼ねられていたが、これにより、いつ更新したかがひと目でわかるようになるだろう。 前提 このギミックが動作するHUGOのバージョン。 ローカルでのバージョン Hugo Static Site Generator v0.68.3/extended linux/amd64 BuildDate: 2020-03-25T06:15:45Z デプロイ先のNetlifyのHUGOのバージョン hugo v0.85.0-724D5DB5+extended linux/amd64 BuildDate=2021-07-05T10:46:28Z VendorInfo=gohugoio 記事ヘッダーにlastmodを追加する 記事ヘッダーにこのようにlastmodを追加する。 --- title: ...【matplotlib】フォントファイルを用意して日本語の豆腐化を修正する
- 作成日時:
- 最終更新日時:
- Categories: others
- Tags: Python matplotlib tips
カレントディレクトリにNotoSansJP-Light.otfを配置する。 import matplotlib.font_manager as fm import numpy as np import matplotlib.pyplot as plt fprop = fm.FontProperties(fname='NotoSansJP-Light.otf') x = np.linspace(0, 1, 100) y = x ** 2 plt.plot(x, y) plt.title("タイトル" ,fontproperties=fprop, fontsize=40) plt.show() これで豆腐化の修正ができる ...【Django】モデルを使用したフォームクラスで、required属性を付与する
モデルを使用したフォームクラスは、モデルの制約に依存する。 そのため、モデルの制約がゆるくても、フォームクラスで引き締めたい場合、別途対策が必要になる。 フォームクラスにrequired属性を付与する class TopicCategoryForm(forms.ModelForm): class Meta: model = Topic fields = [ "category" ] #TODO:categoryの入力を必須化させる def __init__(self, *args, **kwargs): super(TopicCategoryForm, self).__init__(*args, **kwargs) self.fields['category'].required = True コンストラクタをオーバーライドすれば良いそうだ。 参照元: https://stackoverflow.com/questions/44810064/form-required-field-in-django-model-forms ...【Pandas】DataFrameをループして取り出す【列ごと、行ごとに取り出すにはdf.items()とdf.itertuples()でOK】
よくあるpandasの行ごと、列ごとにデータを取り出す方法。 環境 Python 3.8.10 numpy==1.23.4 pandas==1.5.1 python-dateutil==2.8.2 pytz==2022.5 six==1.16.0 列ごとにループして取り出す .iteritems()は後のバージョンで廃止される可能性があるので、列ごとのループには.items()を使う import pandas as pd data = {} data["month"] = [ str(i)+"月" for i in range(1,13) ] data["page_view"] = [ i*1000 for i in range(12) ] data["earnings"] = [ i*100 for i in range(12) ] index = [ str(i) for i in range(12) ] df = pd.DataFrame( data, index=index ) ## 列ごとにループする for column_name, item in df.items(): print(column_name) print(item) print(item["0"]) print(item["1"]) print(item["2"]) index ...