Python3関連のことを調べてみた2021年05月25日

Python3関連のことを調べてみた2021年05月25日
目次

CoinMarketCapのAPI完全解説(初心者向け) 後編

#はじめに
この記事はCoinMarketCapから情報を取得したいプログラミング初心者向けの記事です。
また、とりあえず使ってみたいと言う人は[前編](‘https://qiita.com/trmtikko/items/5fb71dadf1d111f62bef’)を御覧ください。
では、この記事を読んでCoinMarketCapマスターになりましょう!
![4193091_m.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1524076/7d9e2120-3fef-10ac-0f4a-deed6fd99dfb.jpeg)

#やってみる
では早速、APIの解説をしていきたいと思います。
[前編](‘https://qiita.com/trmtikko/items/5fb71dadf1d111f62bef’)で書いたコードは下の通りでした。

“`python:cmc.py
from coinmarketcapapi import CoinMarketCapAPI, CoinMarketCapAPIE

元記事を表示

tkinterのテキストボックスを入力選択状態にする方法

#概要
tkinterでアプリのようなものを作っていて、ショートカットキーで入力ボックスを選択する方法がなかなか見つからなかったため、記事にします。

#結論

“`python
txtBox_name.focus_set()
“`
でできます。

#例
Shift + G :2個めのテキストボックスを選択
Shift + F :1個目のテキストボックスの内容を2個目に移動
ボタン   :1個目のテキストボックスの内容を2個目に移動

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405484/5a33cf4e-2e4f-e3f4-b7ef-14995004c7f6.png)

“`python
import tkinter as tk

def next_box(event):
editbox2.delete(0,tk.END)
editbox2.insert(tk.END,editbox.get())

editbox.delete(0

元記事を表示

【Python3/Python-dotenv】.envのファイルの中身を上書きする方法

[1]:[https://github.com/theskumar/python-dotenv]

Pythonで.envファイルをいじる時、「[Python-dotenv][1]」を使用されている方は
多いのではないでしょうか。
今回は、その[Python-dotenv][1]を利用して、直接envの値を上書きする方法です。

## 前提条件
Python-dotenvのインストールについては、[公式のGithub][1]を参考にしてください。

.envファイルに以下の値が存在していると仮定します。

“`terminal:.env
GREETING_KEY=”HELLO”
“`

今回は、この`HELLO`を`HEY`に変更します。

## 上書きできない例

最初に思いついたのは、下記のようなコードです。

“`python:failed.py
import os
from dotenv import load_dotenv

class OverrideEnv:

def __init__(self):
load_dotenv()

def chang

元記事を表示

作業メモ Amazon linux2にpyenvでpython3.9.0をインストールする

## 手順
“`bash
# 使う諸々インストール
sudo yum -y install bzip2 bzip2-devel gcc git libffi-devel make openssl openssl-devel readline readline-devel sqlite sqlite-devel zlib-devel

# pyenvインストール
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

# bashrc書き換え
cat << 'EOS' >> ~/.bashrc
export PYENV_ROOT=”$HOME/.pyenv”
export PATH=”$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init –path)”
EOS

source ~/.bashrc

pyenv install 3.9.0

pyenv global

元記事を表示

【AtCoder】ABC202をPython3で解説

ABC202の解説。

https://atcoder.jp/contests/abc202

## A – Three Dice
### 解説
3つのサイコロを投げて、出た目と反対の面が表す整数を足し合わせた値を求めるもの。

そもそもサイコロは、表と裏を足して7になるようにできている。つまり、1の裏は6、2の裏は5、3の裏は4となっている。

したがって、出た目を`a, b, c`とすると、それぞれの裏の値は、`7-a, 7-b, 7-c`となる。これらを足し合わせたものが答えなので、`(7-a)+(7-b)+(7-c)=21-(a+b+c)`となる。

つまり、次のようなコードとなる。
### コード

“`python
a, b, c = map(int, input().split())
print(21 – (a + b + c))
“`

## B – 180°
### 解説
問題としては、`S`を180度回転したものを出力するというもの。

文字列は、`0, 1, 6, 8, 9`なので、反転すべきものは、`6, 9`のみ。
`test`に値を代入して、`6, 9

元記事を表示

【python・Django初学者】Djangoの環境構築とディレクトリ構成について爆速で解説していく

#環境構築
###仮想環境作成

“`
python3 -m venv [newenvname]
“`

###仮想環境activate(Mac)

“`
source [newenvname]/bin/activate
“`
###仮想環境activate(Windows)

“`
.\[newenvname]\Scripts\activate
“`

###Djangoインストール

#プロジェクトを作成

“`
django-admin startproject mysite
“`
設定ファイルなど様々なモジュールを集めたものが作成される。

###プロジェクトの動作確認

外側のmysiteディレクトリに移動しコマンド入力

“`
$ python manage.py runserver
“`
“`
Starting development server at http://127.0.0.1:8000/
“`
この後半のurlで確認を行う
成功すれば
![スクリーンショット 2021-05-11 18.27.11.png](https://qiit

元記事を表示

SphinxでPythonライブラリのドキュメント周りを整備する

本記事は趣味で作っている以下のPythonのフロントエンドライブラリのドキュメント整備用のSpinx関係について備忘録としてまとめた記事となります。

https://github.com/simon-ritchie/apysc

主に以下のような内容について触れていきます。

– Sphinxなどのインストール
– Sphinxの基本設定の反映
– ダークテーマの反映
– マークダウンの有効化
– マークダウンでの表の有効化
– GitHub Pagesの検証と利用

# 使う環境

ライブラリがPython3.6以降のサポートとしているため、`python:3.6.12-buster`のPythonバージョン + Linuxのイメージを利用しています。

# Sphinxのインストール

Sphinxは本記事執筆時点で最新のPyPIの4.0.2のバージョンを使用していってみます。お仕事では3.4.0のバージョンを使っているためメジャーバージョンを上げた形での利用となりますのでどういった感じで変わっているかなど(躓く点など)も確認しつつ進めます。

Sphinx自体はpipでインスト

元記事を表示

【メモ】JupyterNotebookを自動実行してHTMLで保存する(ついでに生成された画像を単体で保存したりする)

# 背景
* jupyter notebookをデータ分析に使った際に、その結果をある程度再現可能なものにしたい
* 毎回頭から実行するのも面倒、またワンクリックで簡単に結果を見れるようにしたい
* notebookを書くことで、ダッシュボードを作る代わりにならないか

# 結論
* nbconvertで出来ます
* nbconvertをうまく使えば作成した画像だけ保存のようなこともできる
基本的には
* https://nbconvert.readthedocs.io/en/latest/nbconvert_library.html
を参照すればOK。
* コマンドラインからは`jupyter nbconvert –to html –execute test.ipynb` で一発で出来る.inplaceでやったりpdfにしたりとかもできる。

以下はソースコード上で実行したい、さらに細かい作業を行いたい場合の方法。

# 頭から末尾まで実行する
`nbconvert.preprocessors` の`ExecutePreprocessor` を使えばできる。

“`pytho

元記事を表示

BigSurでpyenv installでのPythonアップグレードを諦めた件

MacOS BigSur環境でPython3.8.xのアップグレードができませんでした…
ってただそんな記事です。

##ハマったこと

brewに入っているpyenv

“`bash
brew ls
… … … pyenv
… … …
“`

pyenvでアップグレードをやってみたところ、次のエラーとなりました。

“`python
pyenv install 3.8.7

python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.7.tar.xz…
-> https://www.python.org/ftp/python/3.8.7/Python-3.8.7.tar.xz
Installing Python-3.8.7…
python-build: use readline from homebrew
python-build: use zlib from xcode sdk

BUI

元記事を表示

Dense Optical Flowの結果が分かりにくかったので分かりやすくしてみた

# 1. 動機
研究でDence Optical Flowを使っているのですが、Dense Optical Flowの結果表示って人間の視覚的に分かりにくくないですか?
![opticalfb.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/576581/5267e4d1-79e9-9b17-604a-96da31d2f8f4.jpeg)
> 引用:オプティカルフロー(Optical Flow) [http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_video/py_lucas_kanade/py_lucas_kanade.html]

これって入力と出力を同時に出力して見比べないとちゃんと実装できているのか分からないですよね。
そこで、取得した動画上の__移動している物体に対して直線を記載する__ことにしました。これによって線の方向と長さで物体の移動方向と移動量が分かるようになったため、1つの結果か

元記事を表示

pandasで列の値をリストから追加する方法

忘備録として

#レファレンス

https://pandas.pydata.org/docs/user_guide/index.html

# はじめに

##データの取得
“`python:finance_data.ipynb
import fix_yahoo_finance as yf
import pandas as pd

data = yf.download(‘SPLK’,’2021-05-01′,’2021-05-22′)
data
“`

株価情報を3週間分とって、週ごとでグラフ化したい。

|Date|Open|High|Low|Close|Adj Close|Volume
|:-:|–:|–:|–:|–:|–:|–:
2021-05-03|126.720001|127.000000|122.970001|122.970001|122.970001|1656000
2021-05-04|121.570000|121.570000|117.589996|119.849998|119.849998|2094300
2021-05-05|120.55999

元記事を表示

Python 機械学習 #1

# 機械学習のジャンル
機械学習を一から始めてます。勉強で自分なりに解釈をしております。間違っているところがありましたらお伝えしてくださると幸いです。
##教師あり学習
入力と出力のペア群から学習するアルゴリズムである。なぜ教師となるかというと学習のために与えられる入出力ペア群がある意味先生となるからである。アルゴリズムは入力から望ましい出力を生成する方法を発見する。
封筒に書かれた手書きから郵便番号を読み取るのも入力から望ましい出力を生成する方法を見つけて照合する事によって可能になる。

##教師なし学習
入力データだけが与えられていて出力データはアルゴリズムに与えられない。だからこれと言った答えが導かれないようなものである。
例えば顧客をグループに分けるときもジャンルはある程度決まっているものもあるが新しいユーザが来るたびにジャンルは更新していくというように正確な答えというものはあまりない。

##まとめ
教師あり・なしに関わらず入力データを計算きが理解できる形で表現することが重要である。
データ(=テーブル)と考え、それぞれのデータポイント(個々のメール、個々の顧客)が行となり、

元記事を表示

日本のワクチン接種回数の表を作成

Web で閲覧できる次の表を作成します。
![vaccine_may2201.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/f9d061e5-dbdb-2b5a-684b-aa9a7e336a87.png)

データの取得

“`bash
wget https://www.kantei.go.jp/jp/content/IRYO-vaccination_data.xlsx
wget https://www.kantei.go.jp/jp/content/KOREI-vaccination_data.xlsx
“`

エクセルを JSON に変換

“`bash
./xlsx_to_json_daily.py IRYO-vaccination_data.xlsx IRYO-vaccination_data.json
./xlsx_to_json_daily.py KOREI-vaccination_data.xlsx KOREI-vaccination_data.json
“`

`

元記事を表示

Ubuntu+Python3(任意のバージョン)の実行環境を構築するDockerfile

# この記事は
他人と同じ実行環境を構築するために、Ubuntuイメージをベースとして、任意バージョンのPython3環境を構築したかったので、勉強も兼ねていろいろ試してみた。[前も同じようなこと](https://qiita.com/ntatsuya/items/d7354e27783c0f0ee61c)をやりましたが、こちらの内容の方が汎用性が高そうなのでまとめます。
同じような状況の方の参考になれば幸いです。もっと良い方法があればぜひ教えていただきたいです。
Python3の実行環境をDockerで立ち上げるだけなら、公式の[Pythonイメージ](https://hub.docker.com/_/python)を使用するのが簡単だと思います。

# 実行環境
Docker version 20.10.5

# Dokerfile
以下のDockerfileからイメージをbuildする。今回はUbuntu20.04のイメージを使用し、Python3.9.5をインストールする。このあたりは、適宜自分の構築したい環境にあわせて変更してください。

“`Dockerfile:Dock

元記事を表示

Pythonで月初、月末の平日の年月日を取得する

## 概要
月初、月末の平日の年月日を取得するサンプルコード。つまり土日、祝日でない月初日、月末日を取得する。
日本の祝日判定には、[jpholiday](https://pypi.org/project/jpholiday/)を使う。
slackなどでの月初、月末の社内通知などにどうぞ。

## 環境
– Python 3.7
– jpholiday==0.1.5
– pytz==2021.1

## サンプルコード

“`python
import jpholiday
import datetime
import pytz
import calendar

# 今日の%Y-%m-%d
def fetch_today() -> datetime:
return datetime.datetime.now(pytz.timezone(‘Asia/Tokyo’)).date()

# 土日、祝日かどうか
def is_holiday(day: datetime) -> bool:
# day.weekday() => 0=月曜日…5=土曜日、6=日曜日
r

元記事を表示

raspi3B+にnumba-0.53.1をインストールする

## バージョン情報
* kernel: `Linux 5.4.51-v7+`
* os: `Raspbian GNU/Linux 10 (buster)`
* python 3.7.3
* apt 1.8.2.2 (armhf)
* Cython 0.29.23
* numpy 1.20.2
* setuptools 40.8.0

## 方法
numbaのインストールにはllvmliteが必要。
llvmliteはllvm-9かllvm-10を求めてくる。
llvm-10がaptで見つからなかったので9をインストール

“`
$ sudo apt install llvm-9
$ cd /usr/bin
$ ln -s llvm-config-9 llvm-config # llvm-configのシンボリックリンクを貼る
$ pip3 install numba
“`

元記事を表示

Python で Slack API や Webhook を扱うなら公式 SDK(slack-sdk/slack-bolt)を使おう

こんにちは、Slack で公式 SDK の開発に従事している @seratch と申します。

これから Slack の Python SDK について日本語のチュートリアルを書いていく予定で、この記事はそれらのエントリーページにしようと思っています。ご興味あれば、ぜひこの記事をストックしておいてください :wave: (良いと思ったら LGTM もぜひ)

## え! Slack に Python 公式 SDK なんてあったの?

・・と思った方も多いかもしれません。Python で Slack の Incoming Webhooks や Web API を使うとき、`requests` のような HTTP クライアントやコミュニティで開発された PyPI パッケージを使っている例をよく見かけます。Slack API は簡単に扱えることを重視して提供されていますので、もちろんそのようなやり方でも全く問題ありません!

しかし、公式 SDK を使えば、新しい API や機能への対応が容易になったり、パラメーターが非推奨になったときにいち早くワーニングログが出たり、細かい落とし穴にハマら

元記事を表示

PythonでPDFから画像を抽出するもっとも簡単な方法

PDFに含まれるすべての画像を抽出する方法です。Python3.6+。Windowsで動かしましたがLinux等でも可能だと思います。

# 01. 環境
pyMuPDFというライブラリを以下のコマンドで入れます:

“`sh
pip install pymupdf
“`

pyMuPDF は `import fitz` でインポートできるライブラリです。PDFだけでなくEPUBなども読めます。[公式ドキュメントはここ](https://pymupdf.readthedocs.io/en/latest/index.html) で [PyPIの統計情報] (https://pypi.org/project/PyMuPDF/) を見ると2021/May が最新更新でGithubでは900を超えるスターが付いてます。Python3.6+で動作します。私はWindows上で動かしています。

# 02. 基本となる考え方
いくつか知っておくべき項目を列挙します。

– **PDFに入っている画像形式は不定です**。どの形式の画像を入れるかはPDF作成者が決められます。jpgやpngが多いで

元記事を表示

東京都が公開しているAPIで毎日コロナ感染者数を取得するコードpart2

前回公開した東京都が公開しているAPIで毎日コロナ感染数を取得するコードにてうまく1000件以上の件数が取れなかったためその対応を行なった。
コードは以下の通り

“`python3:tokyo_corona.py
import requests
import datetime
import pandas as pd
import json

today = datetime.date.today().strftime(‘%Y-%m-%d’)
url = “https://api.data.metro.tokyo.lg.jp/v1/Covid19Patient”

def corona_infection(start_date=today, end_date=today):
payload ={
‘from’: start_date,
‘till’: end_date,
‘limit’: 1000
}

res = requests.get(url, params=payload)
data =

元記事を表示

csvファイルを pandas で読み込んで MySQL 8.0.24 に書き込んでみる

#目的
・Windows 10に MySQL Community Server 8.0.24 をインストール済
・pandas でcsvファイルを読み込む
・python + mysql-connector-python を使ったサンプルコードを書いてみる
・対象データは[郵便番号検索](http://www.post.japanpost.jp/zipcode/)の17ISHIKA.CSV
※単にpandas.read_csvを使ったコードを書いてみたかっただけともいう
※pandasでKEN_ALL.CSVを取り込むだけだと11秒位だったので、そのままSQLに流したらどうかを試したかったという
※KEN_ALL.CSVは12万行超えだけど、トータルそう変わらなかった気も

##書き込み用テーブルのSQL
“`sql
SET character_set_client = utf8mb4;
CREATE TABLE zipcode(
seq nchar(8) not null,
prefcode nchar(3) null,
kubuncode nchar(8) nul

元記事を表示

OTHERカテゴリの最新記事