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

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

Djangoのログ出力

Djangoのログ出力はsettings.pyのLOGGINGに記述する
# ターミナルとファイルにログ出力する記述の例
“`settings.py
LOGGING = {
‘version’: 1, #ロガーのバージョン
‘disable_existing_loggers’: False, #デフォルトのログを無効化するかどうか
‘formatters’:{
‘standard’:{
‘format’ : “[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s”,
},
},
‘handlers’: {
‘console’: {
‘level’: ‘INFO’,
‘class’: ‘logging.StreamHandler’,
‘formatter’:’standard’,
},
‘file’: {

元記事を表示

【Python】Wordファイルからのテキスト抽出

# はじめに
ビジネス系部門からシステム系部門にテキスト解析して欲しいという依頼があったものの、解析対象のデータは全てWordファイル!という状況は時々あると思います。
そのような時、まずはWordファイルからテキストを抽出する必要があり、本記事ではその方法をご紹介します。

# Wordファイルからのテキスト抽出
## ライブラリのインストール
Pythonの[python-docx](https://python-docx.readthedocs.io/en/latest/)というライブラリを使えば、簡単にWordファイルからテキスト抽出ができます。
python-docxは、次のようにpipコマンドを使えば一発でインストールできます。

“`
$ pip install python-docx
“`

## テキスト抽出対象のWordファイル
次のようなWordファイルを用意します。ファイル名は`sample.docx`とします。
![スクリーンショット 2022-09-27 10.37.49.png](https://qiita-image-store.s3.ap-nort

元記事を表示

Tello SDK を自分なりに最適化してみた(Tello-Console)

# Tello SDK を自分なりに最適化してみた(Tello-Console)
 Tello を python でプログラミングするときに辿り着く SDK、それは Tello-Python だろう。この記事ではそんな Tello-Python にある tello.py を僕なりに改良した **Tello-Console tello.py** を紹介しようと思う。
 今回初めてこのような記事を書くので、分かりづらい点もあるかもしれないが、そこは随時指摘等があり次第修正する。

## そもそも Tello って?
![tello画像.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2729782/8d13042e-4f4d-f627-becc-fcd30bb9910d.jpeg)
 そもそも Tello って何なのか。知らない方に簡単に説明すると、**小さなプログラミングで飛ばすことができるドローン**である。とても小型なので室内で飛ばして遊ぶことができ、しかもホバリング性能やカメラの性能が類似する大きさ

元記事を表示

PythonのVSCodeのデバッグ構成についての備忘録

「実行とデバッグ」のタブメニューより、
「launch.jsonを作成」で自動生成できるが痒い部分をカスタマイズ

“`launch.json
{
“version”: “0.2.0”,
“configurations”: [
{
// デバッグ構成の表示名
“name”: “Python: 表示名”,
“type”: “python”,
“request”: “launch”,
// デバッグしたいファイル名を設定しておけば開いていなくともF5でデバッグ可
“program”: “hoge.py”,
“console”: “integratedTerminal”,
“justMyCode”: true,
// 作業ディレクトリの指定
“cwd”: “hoge/fuga/HogeHogeProject”

元記事を表示

Googleフォトからエクスポートした写真の撮影日時を修正する

# 覚書き
GoogleフォトからTakeout機能で,全写真をエクスポートしたものの,写真の日付がダウンロード日になっている・・・
どうやら写真ファイルそれぞれにJSONファイルが作られていて,そこに日付情報が入っているらしい.

コチラの記事を参考にやってみたものの,ファイル数が多く,分割してダウンロードしたのでフォルダが多くめんどくさい.
https://qiita.com/Fox_Kei/items/d375fbbc029462880294

何かないかと調べていたら,GooglePhotosTakeoutHelperなるツールを発見.

https://github.com/TheLastGimbus/GooglePhotosTakeoutHelper

コレだ!!

まずは,ZIPでおとしてきたのを全部展開.
そしてインストール.
“`
pip install -U google-photos-takeout-helper
google-photos-takeout-helper -i [INPUT TAKEOUT FOLDER] -o [OUTPUT FOLDER]

元記事を表示

OpenCVのaccumulateWeighted()の引数と処理の確認

## 内容
動体検知で使われるaccumulateWeighted()の処理がいまいちよくわからなかったので、簡単に検証してみた。

## 結論
accumulateWeighted()で行われる処理は、第二引数である移動平均の値を更新していくというもの。
第一引数には最新の値を入れる。
第三引数は過去のデータの忘れやすさに相当していて、この値が大きいほど最新のデータの影響が大きくなる。
この値の逆数が移動平均の項の数とだいたい同じ意味になる。

## 検証方法
まっ黒の画像とまっ白の画像を用意して、それらを処理していったときに処理後の値がどう変わっていくかを調べた。

## コード
~~~python
import os
import cv2

# 画像の読み込み
fl = os.getcwd()
white = cv2.imread(fl + r’\white.png’)
black = cv2.imread(fl + r’\black.png’)

white = cv2.cvtColor(white, cv2.COLOR_BGR2GRAY)
black = cv2.cvtCol

元記事を表示

Selenium使ったらスクレイピングでつまずいた話

こんばんは。
Doryです。

Webスクレイピングをしていたんですけど、今回はSeleniumを使った方法で行ってみたんですね。
自分のプログラミング環境にSeleniumをインストールしたら使いたいものが出てこなかったんですよ。。。
どういうことかっていうと

“`
example = a.find_element_by_name()
“`

みたいにしたかったんですけど、find.elementの先が出てこなくて使用できなかったんです。

結論を申し上げると、**Selenium4**ではなく**Selenium3**を使えばタグごとの括りができるみたいです!

私は一旦Selenium4をアンストしてSelenium3を入れたら解決しました。

同じような方がいればご参考までに:)

元記事を表示

[Python][Tips] さくっと現在日時を取得したい場合

さくっと現在日時を取得したい時に便利なTips。
大量のデータを扱う場合、現在日時をファイル名先頭に付与することで新旧でソーティングできるのでよく利用しています。
“`Python
import datetime

now = datetime.datetime.now() # 現在日時を取得
dt = now.strftime(‘%Y%m%d%H%M%S’) # YYYYMMDDhhmmssの書式に整形
print(dt) #20220927221536
“`

元記事を表示

Django使い始めの備忘録(テスト)

## 概要
色々あってPython/Djangoを使ってWebアプリを作ることになりそうなので、
Djangoでできるテスト用鵜環境構築等の自分用備忘録。
Webアプリ実装については[Django公式ドキュメント](https://docs.djangoproject.com/ja/4.1/)か[拙作備忘録](https://qiita.com/harayoshi/items/f56ceb0929f88ccd90d8)を確認してください。

## 環境
OS : Windows 11
Python : 3.10.7
Django : 4.1.1

## 注意事項
コマンド実行にPowerShellを使っていて、管理者権限で実行しないと動作しない場合があります。

## 自動テスト作成
テスト対象は以下の記事を参考に作成した投票のサンプルアプリです。
* [Djangoチュートリアルその1](https://docs.djangoproject.com/ja/4.1/intro/tutorial01/)
* [Djangoチュートリアルその2](https://docs.djangopr

元記事を表示

trioによる並行処理②(Event)

前回:[trioによる並行処理①(非同期開始、open_nursery、await、atomic)](https://qiita.com/Kyosuke_Ichikawa/items/60955d36fa4c181c198e)

## Event
[trio](https://trio.readthedocs.io/en/stable/)には[Event](https://trio.readthedocs.io/en/stable/reference-core.html?highlight=Event#trio.Event)というクラスがあり、次のメソッドがあります。

– “`await wait()“`:非同期関数であり“`set()“`が呼ばれるまで待機します
– “`set()“`:“`wait()“`での待機を終了させます
– “`is_set()“`: 既に“`set()“`されていればTrueを返します

例えば次のように使えます。
“`python
import trio

async def func1(event: trio.Event)

元記事を表示

Electronとpython-shellの実行環境作成(vueも少し)

※正しい方法かはわからないので、使用する際は自身で検証してください。

Electronとpython-shellを使ったアプリを作ろうと思い、調べた結果をまとめる。
(実際には作ってない。)

### 1.Electronアプリ作成
“`
npx create-electron-app myapp
cd myapp
npm start
“`

### 2.pythonの環境作成とactivate
“`python
cd src
python -m venv –copies py38
source py38/bin/activate
“`

### 3.ElectronでPythonを使用するためにpython-shellをインストール。

“`
npm install python-shell
“`

“`python
python -m pip install python-shell
“`

### 4.preload.jsを作成する。

preload.js

“`
const {

元記事を表示

PythonとC言語を勝負させた結果をLINE Botで通知してみた。

# どうしてPythonとC言語を戦わせる必要があるのか?
>まず最初に言っておかなければなりません。
>この戦いは、完全に私の勝手な想いによって始まりました。
>だから、PythonもC言語も悪くはありません。

#### 皆さん、Pythonって聞くとどんなことを想像しますか?

– 機械学習ができる
– Webサイトのスクレイピングができる
– 初心者が入りやすい
– **なんかかっこいい**

#### はい、ではC言語は?
– 初心者殺しの異名を持っている
– セミコロンを殺したくなる
– 意味わからないエラーが〇キブリみたいに出てくる
– **なんか嫌い**
– ~~臭い、汚い、きつい~~

これが __現実__ です。
簡単に言うとみんな __Pythonが大好きで、C言語は大嫌い__ 、、、
扱いづらいと思われているC言語ですが、実はあらゆる場所で使われているんです。
例えばみんな大好きPythonだって、C言語を元に作られているんですよーってね:sparkling_heart:

私は業務でC言語を扱っているため、C言語とは相棒みたいなものです!(~

元記事を表示

python subprocess run exe

“`Python
import subprocess

res = subprocess.getoutput(“\”C:/Program Files/Thinkbox/Deadline10/bin/deadlinecommand.exe\” GetPoolNames”)
“`

元記事を表示

「超簡単」Djangoでログインページの実装

django初心者ですが、手軽に実装できました。(セキュリティ面は考慮なし)
中身の理解がスカスカでも実装はできる。

手順として、下記ぐらいだったと思います。
1. プロジェクトの作成
1. アプリの作成
1. setting ファイルの更新
1. templatesディレクトリの作成
1. ログイン、ログイン後のHTMLの作成
1. viewの実装
1. urlのパスを記述
1. formの実装
1. 開発サーバーの立ち上げ

開発環境
MacOS m1 Max 16

terminal
“`terminal
$ django-admin startproject $ cd $ python3 manage.py startapp
$ python3 manage.py createsuperuser

“`
settings.py
“`python
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,

元記事を表示

Django使い始めの備忘録(Webアプリ実装)

## 概要
色々あってPython/Djangoを使ってWebアプリを作ることになりそうなので、
環境構築等の自分用備忘録。

## 開発環境
OS : Windows 11
Python : 3.10.7
Django : 4.1.1
ブラウザ : Google Chrome 105.0.5195.127

## Djangoセットアップ
### Pythonをインストールしていない場合
予めPythonをインストールしてください。
インストーラーは[こちら](https://www.python.org/)のDownloadsから
Python (バージョン)のボタンをクリックしてダウンロードしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533981/d6ef9efb-fcdc-7fab-a797-7262a16ad3f1.png)

インストーラーを起動すると下記のウィンドウが開きます。
![image.png](https://qiita-image-store

元記事を表示

Spotify API から楽曲の解析情報を取るpart3

# はじめに
ID取得とかSpotify APIを使うのに必要なことは既に理解している前提で話していきます。
まだの方は[Spotify API をPythonでちょっと遊ぶ](https://qiita.com/supertower/items/2f6da271cf16389d6e58)からどうぞ
あとはノート代わりと自分のモチベ維持のために書いてるのでそんなことわかってるよ!っていう場所もあると思います。
ではスタート
# 今回の目標
前回は標準入力でアーティスト名と曲名を入力したら解析情報がゲットできるように実装しましたが、今回は別角度からのアプローチで同じことをしようと思います。
前回はアーティスト名->曲名の順で検索したのですが、今回は逆の曲名->アーティスト名で検索しようと思います。
# つまずいた点
今回つまずいた箇所として、`sp.search()`関数はアーティスト名をデフォルトだと英語で返します。例えば、ポルノグラフィティ->PornoGraffittiのようにです。戻り値を日本語のままにするためには`spotipy.Spotify()`でlanguage

元記事を表示

Kaggle超入門 ~タイタニック号の生存予測~(lightGBM改良編)

# 前回までやったこと
前回まで、kaggleのタイタニック号の生存予測のデータ確認と前処理、さらにlightGBMによる訓練・予測を実施した(以下の記事に詳細記載)。
* https://qiita.com/tasuku303/items/becded4c6ec73d72ddbc
* https://qiita.com/tasuku303/items/e942227823fd0838018c

これらを踏まえ、今回は特徴量変換から学習の仕方、モデル評価等を少し変更し再度予測してみました。
# 今回行ったこと
## 概要
今回、新たに行ったことは以下の通りです。
* LabelEncoderの利用
* TrainingAPIからScikit-learnAPIへの変換
* 交差検証の分割数の変更(10->30)
* 学習曲線のプロット
* 変数重要度の算出

## LabelEncoder
“`
# trainデータ読み込み
import pandas as pd
from sklearn.preprocessing import LabelEncoder

train = pd.re

元記事を表示

SonarQubeにgithub actions経由で色々な言語を解析させてみた【Typescript】【Python】【Go】【C++】【Flutter】

# はじめに

SonarQube と github actions の言語別の連携方法のまとめを書きます
SonarQube CommunityEdition(無償版)想定です

# 環境

– SonarQube は AWS EC2 で立てている
– master に PR が merge された時に github actions が発火して、SonarQube の静的解析をキックする
![連携](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641313/cd9b9164-bfda-79d3-e1dd-679ac5f7f0e9.png)

# 前提

– 既に SonarQube は起動済みの状態
– SonarQube 内でプロジェクトが作成済みで、key と token が発行されている
※ このあたりは他の色んな記事で丁寧に解説されていると思います。

## github actions の secret 設定

| 項目 | 値

元記事を表示

衛星データを使って琵琶湖の温度を観察する

衛星データを扱うお仕事をしていますが、最近「海面水温とかとれるの?」と聞かれました。ということで、試しにやってみました。

感想としては、[rioxarray](https://corteva.github.io/rioxarray/stable/)があれば、簡単にこんな処理もできるなぁということでした。ありがとうrioxarray!!!

## 使ったデータ・開発環境など

### 使ったデータ

– GCOM-C(しきさい)
– 海面水温
– [JAXA G-PORTALより取得](https://gportal.jaxa.jp/gpr/index/index)

### 開発環境

– google colab (Python 3.7.14)
– rioxarray 0.9.1
– geopandas 0.10.2
– plotly 5.5.0

## JAXAのGPORTALから画像をダウンロード

### ユーザ登録

JAXAのGPORTALはIDを作ると衛星のデータが無償でダウンロードできます。[ユーザー登録はここから](https://gportal.jaxa.jp/g

元記事を表示

pythonの2重配列の四角かっこ[]を外す方法

「.joinを使う」、「*argsを使う」などあるが、全然うまくいかないので別の方法を。

“`
hogelist = [[‘0’], [‘1’], [‘0’], [‘1’], [‘0’]]

//iではなく[i]を指定することで、中身だけを取り出す。
for [i] in hogelist:
//文字の置き換え(リプレイス)もできる
# i = str(i).replace(‘0’, ‘ ‘)
# i = str(i).replace(‘1’, ‘*’)
print(str(i), end=”)
# end=”の影響で改行が続くのを防ぐための空のprint文
print(“”)
“`

# 出力結果
# 01010

元記事を表示

OTHERカテゴリの最新記事