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

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

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

元記事を表示

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

今回は[前回](https://qiita.com/inoken0926/items/65be0fabee0752d02658)のスクレイピングプログラムをクラウドに載せて自動実行させることを目指しますが、まずはクラウドにテスト用PGMを載せて、正常稼働させるところまで持っていきます。

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

元記事を表示

Pythonによる画像処理100本ノック#6 減色処理

## はじめに
どうも、らむです。
今回は画像中の色の数を減らす減色処理を実装します。
ちなみに、前回から一本飛んでいるのはどうしても5本目のHSV変換が実装できなかったからです。

## 6本目:減色処理
減色処理はその名の通り、色の数を減らす処理のことです。
通常の画像ではBGRでそれぞれ[0:255]の256色が存在し、1つの画素値で$256^3 = 16,777,216$色の組み合わせがあります。
今回の処理ではBGRそれぞれに[32,96,160,224]の4色、1つの画素値で$4^3 = 64$色に減色します。

今回、減色は以下の式に従って行います。

“`
pix = { 32 ( 0 <= pix < 64) 96 ( 64 <= pix < 128) 160 (128 <= pix < 192) 224 (192 <= pix < 256) ``` ## ソースコード ```decreaseColor.py import numpy as np import cv2 import matplotlib.p

元記事を表示

Pythonで、日時と時間、秒単位を表すには

### Pythonで学習したこと
Python認定技術者に向けて勉強しています。
実際にコードがどのように役立つかについてですが、
使う人の側にたったコードを試したいです。
### 実践したコード
“`python

import datetime

now = datetime.datetime.now()
print(now)
print(now.isoformat())
print(now.strftime(‘%d/%m/%y-%H%M%S%f’))

today = datetime.date.today()
print(today.isoformat(‘%d/%m/%y’))

t = datetime.time(hour=1, minute=0,second=5,microsecond=100)
print(t)
print(t.isoformat())
print(t.strftime(‘%H%_M_%S_%f’))

print(now)
d = datetime.timedelete(weeks=1)
#d = datetime.timedelete(days=1

元記事を表示

特定のキーワードを含むツイートを毎日収集してcsvに保存するPythonプログラム

## 目的
ツイッターなどのSNSの情報が新型コロナウイルス感染クラスタの発生リスクモニタリングに使えないかというアイデアがあり、「今日 飲み会」などのキーワード検索によるツイートの収集を行いたい。無料の検索APIでは1週間前のツイートしか遡れないので、今後の研究に活かせる可能性を考えて毎日データを自動で取れる仕組みを構築する。

新型コロナウイルス感染クラスタの発生リスク評価に使える検索ワードの良いアイデアがあれば是非コメント下さい!

## 参考URL
本家
https://developer.twitter.com/en/docs/twitter-api
とてもわかりやすかった解説サイト
https://gaaaon.jp/blog/twitterapi
本記事が上記リンクでいうところの「やってみた系自己満コード」にすら達していないのが悲しいので、場合によっては記事を非公開にするかもしれない。

## 方法
下記の`nomikai_tweets.py`を実行する。

“` python
# coding: utf-8
# nomikai_tweets.py

im

元記事を表示

Docker+Python3+Ubuntu16でOpenFaceを動かす

#概要
Python3+Ubuntu16.04でOpenFaceを動かせる環境(Dockerイメージ)を作成して、コンテナ上でOpenFaceのサンプルコードを動かしてみる。

## OpenFaceとは

>Carnegie Mellon University.のBrandon Amos氏が作成している、
ディープニューラルネットワークを用いた顔認証に特化したオープンソースになります。
PythonおよびTorch実装であり、CVPR 2015に基づいているとのこと。
下記にアルゴリズムの概要やリリースノートがまとめられております。
https://cmusatyalab.github.io/openface/

>OpenFaceのアルゴリズムですが、
 (1)dlibまたはOpenCVによる事前トレーニングされたモデルで顔を検出
 (2)OpenCVのアフィン変換とdlibのリアルタイムポーズ推定を利用して顔内の目と下唇の位置が同一となるように変換
 (3)ディープニューラルネットワークを用いて128次元のユニット超球上の顔を表現(または埋め込み)を行い、クラスタリング、類似性

元記事を表示

Python触ってみた(基本構文編)

# はじめに
[Python触ってみた(インストール編)](https://qiita.com/ok2/items/2964ebfb8254b465e77d)の続き

# 事前に確認&やっておくといいこと
– 仮想マシンにSSHで接続すると日本語が文字化けしてしまいました。
– 調べたら以下の記事が困っていたことにドンピシャでした!
– [SSH環境下のCentOSで文字化けした場合の対処法](https://qiita.com/Dakini/items/a9eb4546c38a6c8a9518)

“`console:仮想マシン
# 状態確認 → VC Keymapがusになっている
$ localectl status
System Locale: LANG=ja_JP.utf8
VC Keymap: us
X11 Layout: n/a
# VC Keymapをjp106に更新(sudoつけて実行)
$ sudo localectl set-keymap jp106
# 再度状態確認 → VC Keymapがjp106に更新
$ loca

元記事を表示

Python2のコードをPython3に書き換える(2to3)

なりゆき

ん??これPython2のコードやんけ!?
Python3もよくわかっていないのに勘弁してや…

という感じでPythonクソ初心者が書いております。

環境

Windows10
Python 3.7.4

今回は全てコマンドプロンプトで行っている。

Python3がインストール済み前提とするため、
コマンドプロンプトでpyと打ってみて、エラーが出ないか確認してみよう。
quit()でPythonの対話モード終了)

2to3

どうやら2to3というPythonのライブラリのプログラムで、
Python2のコードをPython3のコードに自動変換してくれるらしい。

実践(ミス)

デスクトップ上に置いた、”Hello.py”を変換したいとする。

まず、変換したいファイルがある場所(ここではデスクトップ)に移動する。
cd C:\Users\(ユーザー名)\Desktop
次にいよいよPython2からPython3

元記事を表示

Python触ってみた(インストール編)

# はじめに
> SEとして一からプログラムを書く現場はほぼ経験したことがなく。。。
> 今回も前任者が開発したPythonのプログラムを改修してほしいとの依頼が。。。

上記のような状況のSEの方って意外と多くいるのではと思う今日この頃。
今回はPythonを読むのに最低限必要な知識を書き残しておこうと思います。

# 方針とゴール
– 今回は以下のサイトでお勉強していきます。
– https://www.python-izm.com/
– 参考サイトではPythonをPCに直接インストールしています。
– PCは綺麗にしておきたいので仮想マシンを使用します。
– ゴールは「Hello World」相当のものを出力できればと思ってます。

# 前提
– 今回もVagrantを使って仮想マシン上にPython環境を用意します。
– 以前の記事を参考(宣伝):[Mac+Vagrant(CentOS7)+Docker+Jenkinsで優勝してみた](https://qiita.com/ok2/items/789430151e170768fe17)
– Pyt

元記事を表示

【備忘録】Djangoの単体テスト実行時にカバレッジを計測する

## 目的
Django上で実装した単体テストが網羅出来ていない箇所を探索する為, `coverage`を導入してカバレッジの計測を行う.

## 検証

### 環境
– [Django](https://docs.djangoproject.com/en/3.1/): 3.1
– [coverage](https://coverage.readthedocs.io/en/coverage-5.3/): 5.3

### 導入
Djangoは既にインストール済みであることを前提とする.

“`shell
$ pip install coverage
“`

### 計測
全テストを実行し, 計測を行う. この時に`.coverage`ファイルを生成される.

“`shell
$ coverage run –source=. –omit=’*/tests*’ manage.py test
“`

この時, 単体テストを集約している任意のディレクトリを対象外にする為, `–omit`オプションを使用してカバレッジの計測の対象外としている.
計測時のオプションの種類については

元記事を表示

Python で feedparser を使ってサクッとフィードリーダーを作った

# はじめに

Python3 で feedparser ライブラリを使って RSS を取得してみました。
なお Python は完全な初心者です。

# 環境

– macOS Catalina 10.15.6
– Python3 3.8.5
– feedparser 6.0.1

# feedparser

`feedparser`という便利なものを利用しました。
これは、URL を渡してあげるだけでパースし、いい感じに辞書にまとめてくれるというすぐれものです。

– [kurtmckee/feedparser: Parse feeds in Python](https://github.com/kurtmckee/feedparser)

最新版のドキュメントはビルドしないと見れないので見れていないのですが、古い情報曰く、RSS・Atom の主要なものには対応しているそうです。

– [Documentation — feedparser 5.2.0 documentation](https://pythonhosted.org/feedparser/)

`pip`で

元記事を表示

PyMySQL

# PyMySQL
PythonからMySQLを操作するパッケージ。
[PyMySQL/PyMySQL](https://github.com/PyMySQL/PyMySQL)

“`bash
ubuntu:~$ pip3 install PyMySQL
Requirement already satisfied: PyMySQL in ./.local/lib/python3.8/site-packages (0.10.1)
“`

# 既存のテーブルにレコードを追加する
データベース test、テーブル table1 に値を追加します。
mysqlユーザやデータベースは作成済みです。(それぞれ、ubuntu, test)

“`python
import pymysql.cursors

# MySQLに接続
connection = pymysql.connect(host=’localhost’,
user=’ubuntu’,
password=’ubuntu’,

元記事を表示

Google Formへの回答を元にGoogle Colaboratoryで日本語ワードクラウドを作る

こんにちはGeraldです。
Google Formsで集めた回答をもとに、その場でワードクラウドを作って、セミナー参加者に見せたい!というご要望をいただき、誰でも実行できる方法を考えてみました。思いの外好評だったので手順をまとめます。

# 準備
* Googleアカウントを作る
* Google Formsでアンケートフォームを作る
* アンケートフォームの回答をGoogle SpreadSheetに書き出しておく
* Google Colaboratoryでノートブックを作る

#ソースコード
“`python:wordcloud.py

fileId = ‘対象となるGoogle SpreadSheetのIDをここに書く’

#ライブラリのインポート
from google.colab import auth
from wordcloud import WordCloud
import gspread
from oauth2client.client import GoogleCredentials

#Google Driveへの接続要求
auth.authenticate

元記事を表示

Chalice を使って AWS Lambda 上に Flask/Bottle のようにWebアプリケーションを構築する

# はじめに

小規模なWebアプリケーションを作成する場合、Pythonでは [Flask](https://flask.palletsprojects.com/en/1.1.x/) や [Bottle](https://bottlepy.org/docs/dev/) を利用できる。
これらのフレームワークは「どのURLに対して」「どのプログラムを動かす」といった対応を Python のデコレータで対応させることで実現できる。
例えば、以下の Flask アプリケーションでは `/` にHTTPアクセスした時に `Hello, World!` を返すWebサーバーを実装しており、ルーティング・レスポンス応答が非常に分かりやすい。

“`python:Flaskの公式ページから引用
# https://flask.palletsprojects.com/en/1.1.x/quickstart/
from flask import Flask
app = Flask(__name__)

@app.route(‘/’)
def hello_world():
return ‘He

元記事を表示

Python Binary 変換

### はじめに

Arduino や mono-wireless などのデバイスとシリアル通信でやり取りする際に、送信しているバイナリー命令を確認することが必要になり、バイナリー理解のためのまとめです。以前に書いた記事[文字列、Byte、Binary](https://qiita.com/Gyutan/items/ce001f1f811ecc4d1960)をアップデートした内容です。

参考になったのは
[[Python 入門]バイナリファイルの操作 (1/3)](https://www.atmarkit.co.jp/ait/articles/1910/01/news020.html)
の記事です。

なお、ここでの内容はPython3.6以上です。
### Binary と Byte

おさらいもかねて、バイナリーとは、0,1 で表現されたもの(Bit)ですが、実際には、Byte で扱います。(8bit=1byte)
8bit = 2 の 8 乗=256 で、16 進数で 255 を表現すると FF になります。(0 も含んでいるので 255 が FF になります。)
実際にバイナ

元記事を表示

言語処理100本ノック2020やってみた part4

#はじめに
[言語処理100本ノック 2020 (Rev 1)](URL:https://nlp100.github.io/ja/)の[第4章: 形態素解析](URL:https://nlp100.github.io/ja/ch04.html)の自分なりの解答です。
どんどん雑になってきてる
* 環境
* google colab

#目次
###[第4章: 形態素解析](URL:https://nlp100.github.io/ja/ch04.html)

[30. 形態素解析結果の読み込み](#30-形態素解析結果の読み込み)
[31. 動詞](#31-動詞)
[32. 動詞の原形](#32-動詞の原形)
[33. 「AのB」](#33-aのb)
[34. 名詞の連接](#34-名詞の連接)
[35. 単語の出現頻度](#35-単語の出現頻度)
[36. 頻度上位10語](#36-頻度上位10語)
[37. 「猫」と共起頻度の高い上位10語](#37-猫と共起頻度の高い上位10語)
[38. ヒストグラム](#38-ヒストグラム)
[39. Zipfの法則](#39-zipfの

元記事を表示

COCO’S朝食バイキング実施店舗一覧PDFファイルを取得してCSVにする

###Change Log
(2020/9/24, 05:30)ソート前のsjis版画像を追加しました。
(2020/9/24, 05:30)sort & uniq処理のスクリプトを少し手直ししました。
(2020/9/25, 05:00)sort & uniq処理のスクリプトを少し手直ししました。

##はじめに
[COCO’S朝食バイキング実施店舗一覧](https://www.cocos-jpn.co.jp/menu/morning/morning_viking.html)のPDFファイルを取得してCSVにしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159724/84a246e0-bedb-ca7e-406d-de661253bceb.png)

###なお
– 本記事ではRaspberryPi 4とPython3.7.3で実行しています。が、そこは大きな依存ポイントにはならず、たいていの環境で動くでしょう。
– また、出力結果確認は楽なWindows上のExcel

元記事を表示

kivy JsonStore でUnicodeDecodeError を解決する

# 問題のエラー
Kivyでstorageモジュールを使ってjsonを扱う際、以下のようなエラーに遭遇した。
※環境はpython3.8 ですが、大した差異はないと思います。

“`
File “C:\programing\project\hoge\main.py”, line 33, in _init_load
self.store = JsonStore(‘test.json’, )
File “C:\Users\user\AppData\Local\Programs\Python\Python38\lib\site-packages\kivy\storage\jsonstore.py”, line 29, in __init__
super(JsonStore, self).__init__(**kwargs)
File “C:\Users\user\AppData\Local\Programs\Python\Python38\lib\site-packages\kivy\storage\__init__.py”, line 134, in

元記事を表示

【音声解析】xeno-cantoで鳥の鳴き声データを集める

## [xeno-canto](https://www.xeno-canto.org)とは
鳥の鳴き声データベース。jsonで扱える[API](https://www.xeno-canto.org/explore/api)がある。
今回はPythonを使って日本におけるFulica属(オオバン属)の鳴き声を一括収集した。

## ソースコード
“`python
import requests
import json
import urllib

url = “https://www.xeno-canto.org/api/2/recordings?query=gen:Fulica+cnt:japan”

# json取得(requests.get)

response = requests.get(url)
jsonData = response.json()[“recordings”]

# ダウンロード部(ファイル名は{id}.mp3)

for data in jsonData:
url = (“http:”+data[“file”])
title = dat

元記事を表示

OTHERカテゴリの最新記事