Python3関連のことを調べてみた2020年09月28日

Python3関連のことを調べてみた2020年09月28日

【散布図と3D plotと回帰平面】plotlyで動的な可視化をする【python,scatter,3D,surface,pair,joint】

![33dd.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/b66232ed-1ff7-65f6-49be-6bc3fd3967bb.gif)

python==3.8
plotly==4.10.0

公式のギャラリーを参考にオプションを弄ってみる記事

#scatter(散布図)

##基本

“`python
import plotly.express as px

df = px.data.iris()
fig = px.scatter(df, x=”sepal_width”, y=”sepal_length”, color=”species”, title=”iris scatter plot”)
fig.show()
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/4c5f50fe-44f4-02f2-be4d-948aec81161f.png)

元記事を表示

Tkinterで描画情報を設定した時間ごとに取得する

#はじめに
PythonでGUIプログラムを書けるライブラリTkinter.
このライブラリでは、中にあるCanvasを使って絵を描く事が出来る.

Canvasを使って絵を描く機会は人間誰しもあると思うが、Canvasに書いた情報を設定した時間ごとに取得するというプログラムは調べてもはっきりとわからなかった.
備忘録も兼ねて、プログラムを書いていく.

ちなみにCanvasを使って絵を描くというプログラム自体は以下のサイトを参考にした.
[Pythonのcanvasにマウスで線を描いてみる](https://water2litter.net/rum/post/python_tkinter_canvas_draw/)

#実行環境
* macOS Catalina 10.15.3
* tkinter 8.6
* Pillow 6.2.1

#コード
“` python3
#!/usr/bin/env python
# -*- coding: utf8 -*-
import tkinter
import time
from PIL import Image, ImageDraw

cl

元記事を表示

pythonでdiscordボット raspberry pi zero で[備忘録]

python install

[How to install Python 3 – Install Python 3 | Raspberry Pi Projects](https://projects.raspberrypi.org/en/projects/generic-python-install-python3)

“`shell_session
# sudo apt update
# sudo apt install python3 idle3
“`

and pip
[Installing Python packages – Raspberry Pi Documentation](https://www.raspberrypi.org/documentation/linux/software/python.md)

“`
sudo apt install python3-pip
“`

あとは写経
[Pythonで簡単なDiscord Botの作り方 – Qiita](https://qiita.com/PinappleHunter/items/af4ccdbb04

元記事を表示

Raspberry Pi で SwitchBot 温湿度計の値をとる

# 目的
掲題の通りです。以下の記事を存分に参考にしています。ありがとうございます。コードがほぼ同じなのでご指摘をいただいた場合は即削除します。

> SwitchBot温湿度計の値をRaspberryPiでロギング
> https://qiita.com/c60evaporator/items/7c3156a6bbb7c6c59052

私の環境で一部動かない箇所がありましたので、私的なログとして動作したコードを置いておきます。

# 環境

* Raspberry Pi 4 Model B Rev 1.2
* SwitchBot 温湿度計 (https://www.switchbot.jp/meter)

|![IMG_5275.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82774/c92d8647-24b5-dc6d-befc-51f23989898c.jpeg)|
|—|

# SwitchBot 温湿度計の Mac Address を確認
スマートフォンのアプリケーションから確認できま

元記事を表示

変数を渡すタイプのPythonのデコレータについての考察

Pythonで開発をしていると、関数の前後に共通処理を挟みたくなるケースが良くあるかと思います。その場合に良く使われるのはデコレータ(関数の上の行にアノテーションを付けるやつ)ではないでしょうか。この記事では、デコレータの基本的な使い方と、後半では変数を渡せるタイプのデコレータについて考察してみたいと思います。
※本記事の動作検証には、Pythonのバージョン3.7.3を使用しています。

一番シンプルなデコレータは、以下のような実装です。

“`python

def decorator(func):
def decorated(*args, **kwargs):
print(‘decorated 開始’)
func(*args, **kwargs)
print(‘decorated 終了’)
return decorated
“`

このデコレータを実際に使う場合には以下のようにします。

“`python

@decorator
def sample(name):
print(‘{}が動作しま

元記事を表示

docker centosでpython3をインストールする方法

##はじめに
この記事ではAWSのAmazon Linux2を使用して次のことを実行します。
1. dockerのインストール
2. docker imageであるcentosを起動する
3. 2で起動したコンテナ内でpython3をインストール
##1. dockerのインストール

まず以下のようにyumのアップデートを行います。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo yum update -y
“`

次にdockerをインストールします。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo amazon-linux-extras install docker -y
“`

インストールが完了したら、docker daemonを起動します。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo service docker start
“`

ec2-userをdockerグループに追加します。
これは必須ではないですが、以降“`sudo“`なしで“`do

元記事を表示

初心者がPythonでウェブスクレイピング(4) – 2

それでは[前回](https://qiita.com/inoken0926/items/db1a828465019e205e5e)作成したCloud Source RepositroiesのリポジトリにスクレイピングのPGMを追加していきます。

#Pythonでのウェブスクレイピング学習のロードマップ
(1)ローカルでとりあえず目的のブツのスクレイピングに成功する。
(2)ローカルでスクレイピングした結果をGoogleスプレッドシートに連携する。
(3)ローカルでcron自動実行を行う。
(4)クラウドサーバー上での無料自動実行に挑戦する。(Google Compute Engine)
  (4)-1 クラウドにテスト用PGMを載せて、CloudShell上で正常稼働させる
  (4)-2 スクレイピングPGMをリポジトリに追加し、CloudShell上で正常稼働させる。 ←いまココ
  (4)-3 ComputeEngineのVMインスタンスを作成して、スクレイピングを自動実行させる。
(5)クラウド上で、サーバーレスでの無料自動

元記事を表示

DjangoでRest Apiを作成する。

#はじめに
DjangoでRESTAPIを作る方法を学んだので、深く理解するために
さらに肉付けしてアウトプットします。
__今回環境構築の説明は省きます。__
__以下の記事で構築した環境を使っているので、必ず参照ください。__
https://qiita.com/hayashi0207/items/8bdc0c232c4203c92d6f
またあらゆる任意の名前は上記の記事で利用したものを前提にしていますので、あらかじめご了承ください。

#事前準備&環境
・Crome ModHeader
・Postman
・Anaconda Navigator
・PyCharm CE
・MacOS

#目次
1.モデルの作成
2.シリアライザーの作成
3.ビューの作成
4.動作確認
5.おまけ:APIをフロントエンドから利用できるように設定

#1.モデルの作成
モデルとはデータベースの設計、作成、操作(いわゆるORM)までをPythonでできるものです。
テーブル名はclass,カラムmodelsで提供されているフィールドを使用して定義していきます。
データ作成時間はauto_now_add=

元記事を表示

【plotlyの描画構造の話】plotlyで動的な可視化をする【python】

plotlyの構造について理解する話

#plotlyとは

plotlyはJavaScript,R,Pythonで利用可能な動的グラフを作るパッケージです

動的グラフというのは以下の様に動かすことができるグラフのこと

![aaa.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/cbb55ca0-6738-83a9-f62d-449a6a68810d.gif)

他の関数と同じく指定された引数を用意することで動的グラフが簡単につくることができます
他のplotlyと区別するためJavascript「plotly.js」pythonは「plotly.py」と呼ばれたりもします

#plotlyの中身と動き

plotlyはpandasのようなデータフレーム、もしくはnumpyのarrayを一度json形式に変形して保持し、
javascriptによってhtmlとして実行・保存できるようになっています

テキストエディターで以下のようなhtmlを作成するとplotlyのbarplotが

元記事を表示

Pythonで正規表現を使ってASCII以外を置換する

この記事ではPython3を使っています。

#コード

“`test.py
import re

text = ”’挫折を経験した事がない者は、
A何も新しい事に0 1挑戦したことが無いということだ。
ヲabc123!=*Z
- アルベルト・アインシュタイン -”’
after = re.sub(‘[^!-~\\s]|[ ]’, ‘○’, text)

print (after)
“`

#実行結果

“`
○○○○○○○○○○○○○○
○○○○○○○○0 1○○○○○○○○○○○○○○○○
○abc123!=*○
-○○○○○○○○○○○○○○○○-
“`

#参考
* [Pythonでre.sub を使用して正規表現で平仮名、カタカナ、漢字を置換|dot blog](https://dot-blog.jp/news/python-re-sub-japanese/)
* [文字一覧 (ASCII) – instant tools](https://tools.m-bsys.com/data/charlist_ascii.php)
* [正規表現サンプル集](https

元記事を表示

Pythonの抽象クラス(ABCmeta)を詳しく説明したい

# 0.はじめに

Pythonの抽象クラスが思いのほか特殊だったので
メタクラスの説明も踏まえて少しばかり丁寧に解説したい

# 1.ABCmetaの基本的な使い方

PythonのAbstract(抽象クラス)は少し特殊で、メタクラスと呼ばれるものに
ABCmetaを指定してクラスを定義する(メタクラスについては後ほど説明)

“`python
from abc import ABC, ABCMeta, abstractmethod

class Person(metaclass = ABCMeta):
pass
“`

ちなみにABCクラスというのもあってこちらはmetaclassを指定せず
継承するだけなので基本こっちの方が分かりやすい

“`python
class Person(ABC):
pass
“`

抽象化したいメソッドに@abstractmethodを付ける

“`python
@abstractmethod
def greeting(self):
pass
“`

継承したクラスで実装する

“`python
class

元記事を表示

[2020年9月版] PythonでGmail APIを利用するまでの手順を解説

今回はPythonでGmail APIを利用するまでの手順を解説します。
Gmail API を利用するまでに、APIを有効化したり、認証情報を作成したり、ライブラリをインストールしたりとやることが多いので、備忘録として書きました。
# Google Cloud PlatformでGmail APIを有効化
 Gmail APIを利用するにはGoogle Cloud Platform(GCP)でAPIを有効化する必要があります。GCPにはこちら( https://console.cloud.google.com/ )からアクセスしてください。

初めてアクセスすると下記の画面が出てくると思うので利用規約に同意し、「同意して実行」をクリックしてください。
![Gmail API1 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/e4187430-dfcf-6eff-171c-678cb9c33ce3.png)

「プロジェクトの選択」から
![Gmail API2 (2).png](h

元記事を表示

Pythonで、ファイルの書き出しと出力

### Pythonで、ファイルの操作をする。
簡単ですが、ファイルの操作のコードです。
ディレクトリーファイルを作って、フロントエンドとバックエンドのファイルを管理する認識だと思います。
合ってますでしょうか?
実行環境は、Pycharm
Macbook pro 13 2020を使用しています。

### 実行したソースコード
“`python

import string

with open(‘directly_folder/sample.html’) as f: #sample.txtでも可能
t = string.Template(f.read())
contents = t.substitute(name=’your nickname’,contents=’favorite phase?’)
print(contents)
“`

以下のコードがファイルの場所と内容を示すコードです。

“`python
py -m pip openpyxl //windowsの場合 コマンドプロンプト
pip openpyxl // ターミナルで、インストールされているか確

元記事を表示

pythonの環境設定(virtualenv+pipができない)

こんにちはpython初心者でdjangoでappを制作しようとしているものです。(python3系での開発)
anaconda + djangoでもできるみたいですが、情報が少ないので後々チャレンジします。まずpyenv、virtualenv、pip、anacondaの違いを確認。
https://mycodingjp.blogspot.com/2018/12/python-venv-virtualenv.html
https://oversleptabit.com/archives/2195
https://qiita.com/caad1229/items/325ca5c8ad198b0ebce7
virtualenv+pipで行くことを決意しました。公式サイトではvenvコマンドで仮想環境を作ってました。それでもできたんですが、一旦は置いておきます。
https://www.python.jp/install/macos/virtualenv.html

“`
% python -V
“`
で自身のpcのバージョン確認。私は2系がすでに入っていました。2系はサポート終了なので

元記事を表示

MediaWikiAPIを使用して、Wikiの情報を取得してみるよ

おはよう:relaxed:
wikipediaの情報を取得したい時ってあるよね。
そんな時に使えるMediaWikiAPIを使ってみるよ。

###MediaWiki APIとは?
wikiへのログイン・ページの追加や更新、検索などwiki機能を利用することができる
>[公式: MediaWikiAPI](https://www.mediawiki.org/wiki/API:Main_page)

###APIの基本形

“`
API: https://ja.wikipedia.org/w/api.php
“`

上記URLにparameterの「action」として処理のタイプを持たせることで、検索や更新などいろいろな機能を利用することができるよ。
今回は、基本の「取得(action=query)」のWiki情報を検索して取得する方法を学ぶよ。

###ページタイトルを指定して、そのページの情報を取得する場合は titles=XXXを設定

“`python:getWikiData
import requests
import json

def getWikiData

元記事を表示

【Python】長テーブルのうなぎ屋

##1.問題

円状になったテーブル(テーブル数n)に何人が座る事ができるかを求める問題。
グループの内、一人でも座れない場合そのグループは帰ってしまう。

入力はm+1行から成る。
1行目にはn(座席数)とm(グループ数)が半角スペース区切りで入力される。
i+1行目(1≦i≦m)には2個の整数a_i(グループの人数)とb_i(着席開始座席番号)が半角スペース区切りで入力される。

条件
全てのテストケースにおいて、入力される値は以下の条件を満たす。
1≦n≦100
1≦m≦100
1≦a_i≦n
1≦b_i≦n

![951A057A-C7C6-4595-ADBF-2CBC7D6FC8E0.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/689780/8b9fbb4d-7db9-bfb8-f168-8a4e93fe5333.jpeg)

##2.考えた方法

__`(1)テーブル番号`__

あるグループiがk人おり、b_i番テーブルから座る時
このグループは

b_i,…,b_(i+k

元記事を表示

総務省「日本産業分類」CSVをあるだけ取ってくる

##はじめに
にゃーん??
総務省「日本産業分類」CSVをあるだけ取ってくるやつです。

##このコードは何がいいのか
[日本標準産業分類](https://www.soumu.go.jp/toukei_toukatsu/index/seido/sangyo/index.htm)
– 階層がちょっと深い
– 現行と過去があって提供コンテンツにばらつきがある
– マーケティング実務で役に立つ=ほしいのは、最新の「分類項目名」CSVだけ
– 日本標準産業分類は数年おきに改定がある=ほしい先のURLが変わる
– ファイル名の採番がお役所独自のもので覚えていられない
– ソースコードを少し変えれば、公開されているPDFも取得できる

##動作環境
– Python 3.7.3
– Debian GNU/Linux 10 \n \l (#RaspberryPi 4)

##コード開陳
“`
#!/usr/bin/env python3
# coding: utf-8

### import

import os
import re
import sys
import requests
from

元記事を表示

Splunkのダウンロードリンクをスクレイピングで取得

# 1.インストーラのダウンロードリンクを取得したい
業務でSplunkの検証環境をサクっと作りたいときに、AWSのEC2を利用しています。
建てたり壊したりをCloudFormationで自動化した際に、Splunkのインストーラについてダウンロードリンクを毎回サイトまで取りに行かないといけません。
そのリンク取得作業がなかなかに面倒なので、Pythonでスクレイピングを実装することにしました。

# 2.使用する機能や技術
– Python 3.8
– AWS Lambda
– AWS API Gateway

API GatewayやLambdaへのコード実装は、先人の方がQiitaにたくさんナレッジを落としてくれているので、本記事では割愛します。
以下が参考にさせて頂いた記事になります。

[【Python】AWS Lambdaで外部モジュールを使用する](https://qiita.com/SHASE03/items/16fd31d3698f207b42c9)
[AWS Lambdaで簡単なREST APIを作ってみた](https://tech-cci.io/archive

元記事を表示

Python(Colab)でウェブ上の画像をドライブに保存する

下記の写真をドライブに保存するコードです。

https://www.pakutaso.com/shared/img/thumb/nyannko458A3685_TP_V.jpg
![nyannko458A3685_TP_V.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/428239/657275c2-d4d6-e376-0ea7-938173a68573.jpeg)

前提としてColabで実行するコードで、
Pythonでやる場合はGCPでOAuthの設定が必要です。

# ドライブの認証を通す

“`python:Colabでの認証
from google.colab import auth
auth.authenticate_user()

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from oauth2client.client import GoogleCredentials

ga

元記事を表示

Anacondaで仮想環境を作り、PyCharmと紐付ける。

#はじめに
DjangoでRest Apiを作りたい。
その思いからUdemyやQiitaから自分用に仮想環境の構築方法をまとめました。
Pythonでの動作確認も記事にしましたので興味のある方はご覧ください。

#事前準備&環境
・Anaconda Navigator
・PyCharm CE
・MacOS

#目次
1.仮想環境を作成
2.フレームワーク等のインストール
3.PyCharmと紐付け
4.動作確認

#1.仮想環境の作成
仮想環境の作成はとても簡単です。

Anaconda Navigatorを起動します。
![スクリーンショット 2020-09-25 15.51.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703431/16f3e972-ec57-eaa2-b80d-f04c50c34c69.png)

[Enviroments]を選択し、[Create]を押します。
![スクリーンショット 2020-09-25 15.52.20.png](https://qiita-imag

元記事を表示

OTHERカテゴリの最新記事