Python関連のことを調べてみた

Python関連のことを調べてみた

Class ItemSerializer missing “Meta.model” attributeの対処法

# 問題

[こちらの記事](https://qiita.com/maooz4426/items/fea320d459d1c994f6d2)で行っていたAPIを作る練習をしようとしていた際に一覧を表示しようとしたら

![スクリーンショット 2024-05-27 0.02.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766230/e1165063-fa0e-5272-43ab-8f95eae13aa1.png)

と出てしまいました。

# 原因と対処

“`
AssertionError: Class ItemSerializer missing “Meta.model” attribute
“`
これはserializer.pyで定義したシリアライザークラスにおいて、Metaクラスが正しく定義できておらず、見つからないと言っています。さらに`Meta.model`がと言っているので、どうやら`Meta.model`が原因そうです。

アプリフォルダの`models.py`を見てみ

元記事を表示

PythonでWord文書から空白行を削除する

Word文書の内容の整然性と読みやすさは、文書の質を反映する重要な要素です。不要な空白行などの誤りや不適切な内容は、読みやすさを損なったり、自動データ処理の精度を妨げたりすることがあります。特に、データ分析、レポート作成、長文編集などを行う場合、不要な空白行によってページ数が増えたり、情報の区切りが曖昧になったりする可能性があります。
Pythonは、Word文書の空白行を一括削除し、そのプロセスを自動化するための強力なサポートを提供します。この記事では、**Pythonを使用してWord文書から空白行を自動的に削除する方法**を紹介します。

この記事で使用している方法は、[Spire.Doc for Python](https://www.e-iceblue.com/Download/Spire-Doc-Python.html)に基づいています。PyPI:`pip install Spire.Doc`。

## PythonでWord文書から空白行を削除する

Word文書では、空白行は主に空白段落として存在し、段落は文書構造におけるセクションの下位要素です。したがって、文書の各セ

元記事を表示

【TkEasyGUI】Excelシートの並び替えをつくったった

ChatGPTがなあ!

# やりたかったこと
Excelをこねこねする処理があり、シート名部分一致で処理を実行するため、処理させたいシートの順番を前に持っていきたかった。
……部分一致にさせるな案件と言えばそうなのだけども。
処理終わってからいちいち開いて直すより、GUI上で調整してから処理を開始すればよくね? になり、初のGUI画面作成へ。

# ツール選定の経緯
初心者なので、pythonでGUI作るにはどんなフレームワークがいいのか分かりません。
天下のChatGPTに尋ねたところ、「Tkinter」や「PySimpleGUI」が軽くて良いよと教えてもらいました。

そしてPySimpleGUIを調べてみると、なるほど見やすい分かりやすいこれはいい!
https://qiita.com/dario_okazaki/items/656de21cab5c81cabe59

是非とも使いたかったのですが……なんと有料になってしまったようで、類似のTkEasyGUIを使うことにしました。
https://daisuke20240310.hatenablog.com/entr

元記事を表示

Djangoでapiを作ってみた

# はじめに
API作成を行ってみたいと思ったので、`DjangoRestFramework`を使って、とても簡単なapiを作成してみました。

>`API`とは
`Application Programing Interface`の略称で、ソフトウェアアプリケーションを連携させ、データや機能を共有させるためのインターフェイス(接続手段)をプログラムしたものです。

>`DjangoRestFramework`とは
>djangoで`Restful`なAPIを作成するためのライブラリです。

>`Restful`とは
`REST`と呼ばれるwebアプリケーションで持ちられる設計(アーキテクチャ)原則をのこと。`Restful`とは、RESTというアーキテクチャで実装したwebアプリケーション等のことを指す(らしい、形容詞として使われている)

## 開発環境
– IDE:pycharm
– python:3.9
– フレームワーク:django
– DB:sqlite(djangoのデフォルトであるsqliteにしました。)
– docker

最終的なディレクトリは下のように

元記事を表示

Telloプログラミング初めてみました

# はじめに
こんにちは。最近私は、ドローンでAR表示やリモコン操作など
いろいろ試したくてTelloプログラミングをしてみました。
ドローンを操作するプログラミングは、正直シンプルかつ初心者でもやりやすいです。
さっそく、環境構築から行い

# 環境構築
1.まず、以下のライブラリをコマンドプロンプトでインストールします。
“`
pip install djitellopy
pip install tkinter
“`

2.ドローンに左の充電器を入れます。
![IMG_6002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1226429/23bb2456-70d2-a656-31ce-87aefef92aa6.jpeg)

3.小さい電源ボタンを押して起動します。
![IMG_6007.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1226429/33656ec3-1e1f-8b79-cfad-e7ea753d

元記事を表示

MyCobot 280をPythonで制御するためのチュートリアル (3)

前回の続きです。

https://qiita.com/kotai2003/items/03756aa0f23f20b23ed7

https://qiita.com/kotai2003/items/af5ea5e1a88a6e952b2b

![mycobot.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/09dea577-66f6-63fc-33ed-5f86d21e5cd5.jpeg)

## 1 Overall Status –

#### power_on

**プロトタイプ:** `power_on()`

**説明:** Atomの通信を開始します(デフォルトでは開いています)。

**詳細説明:** この関数は、MyCobotのAtomモジュールの通信をオンにし、ロボットアームが動作を開始できる状態にします。

#### power_off

**プロトタイプ:** `power_off()`

**説明:** Atomの通信をオフにします。

**詳細説明:** この

元記事を表示

MyCobot 280をPythonで制御するためのチュートリアル (2)

前回の続きです。

https://qiita.com/kotai2003/items/03756aa0f23f20b23ed7

次回の記事です。
https://qiita.com/kotai2003/items/8b15a25194a8352ad641

# MyCobot 280のPython API完全ガイド

## はじめに

MyCobot 280は、コンパクトで多機能な6軸ロボットアームです。このガイドでは、Python APIを使用してMyCobot 280を制御するための全てのメソッドを詳しく説明します。各メソッドの説明とコード例を含め、学習順序を考慮して進めていきます。

## 基本的な制御メソッド

### 1. ロボットアームの電源管理

#### 1.1 `power_on()`

ロボットアームの電源をオンにします。

“`python
mc.power_on()
“`

#### 1.2 `power_off()`

ロボットアームの電源をオフにします。

“`python
mc.power_off()
“`

#### 1.3 `is_powe

元記事を表示

辞書を使ってLeetCodeの Two Sum問題をPythonで解く

## はじめに

こんにちは、りょまです。プログラミング未経験ですが、エンジニアを目指してLeetCodeの問題を1日1題解き、その学びを記事にしています。

今回は「Two Sum」という問題に挑戦しました。
[LeetCode: Two Sum](https://leetcode.com/problems/two-sum/)

間違いや改善点があればご指摘いただけると幸いです。

## 問題の概要

与えられた配列 `nums` と整数 `target` に対して、`nums` の中から2つの数を足して `target` になる組み合わせを見つける問題です。

– 各入力には必ず1つの解が存在すると仮定してよいです
– 同じ要素を2回使うことはできません
– 答えはどの順序で返してもかまいません

例1

入力: nums: [1, 5, 3, 8, 7], target: 10
出力: [1, 4](nums[1] + nums[4] = 5 + 5 = 10)

例2

入力: nums: [2, 9, 4, 6, 3], target: 12
出力: [1, 3](nums[

元記事を表示

MyCobot 280をPythonで制御するためのチュートリアル (1)

## はじめに

MyCobot 280は、Elephant Robotics社が提供するコンパクトでパワフルな6軸ロボットアームです。このチュートリアルでは、Pythonを使用してMyCobot 280を制御する方法を紹介します。Windows環境でのセットアップから基本的なAPIの使用例までを詳しく解説します。

![mycobot.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/e2b7db9f-6e6c-b80f-f726-563b4c07ae4e.jpeg)

次回の記事です。

https://qiita.com/kotai2003/items/af5ea5e1a88a6e952b2b

https://qiita.com/kotai2003/items/8b15a25194a8352ad641

## 前提条件

– Windows PC
– MyCobot 280ロボットアーム
– Python 3.xがインストールされていること
– USB Type-Cケーブル

## ス

元記事を表示

Data-Driven Dynamical Systems【動的モード分解】

# はじめに
職場でDMDの知識が求められる案件があったので、アウトプットとして投稿。
参考は[Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control](https://www.amazon.co.jp/Data-Driven-Science-Engineering-Learning-Dynamical/dp/1009098489)の第七章。久々に英語の書籍を読むのが辛かった。
今回はexact DMDのアルゴリズムを理解して、公開されている二次元円柱周りの流れ場データに対して、実際にDMDを適用することをゴールとする。

# 概要
Dynamical Sytems=力学系というのは、***時間経過に伴い、ある法則にしたがって変化する系、また或いは、初期状態が与えられた時、その後の全ての状態量の変化が決定される系***のことを指す。

その概念は、かつてポアンカレが天体の運動を研究していた時に端を発する。彼は2つの天体による運動は比較的単純であることを発見したが、3つ目の

元記事を表示

PythonでExcelの空白行や列を検出して削除するを自動化する方法

Excelデータの処理では、空白行や空白列が頻繁に発生します。これらの空白領域は、表の表示スペースを占有するだけでなく、データ分析の際にバイアスを生じさせ、データ処理の効率と結果の正確性に影響を与える可能性があります。
空白行はデータ集計操作を妨げ、統計カウントの不正確さを招き、空白列はデータ解析ロジックを誤誘導し、後続のデータ分析プロセスに影響を与える可能性があります。
したがって、Excel表から空白行と空白列を削除することは、データ前処理における基本的なタスクです。この記事では、**Pythonを使用してExcelファイルから空白行と空白列を自動的に識別して削除する方法**を紹介します。これにより、データセットの整合性を確保し、後続のデータ分析作業の基盤を固めることができます。

この記事で使用している方法は、[Spire.XLS for Python](https://www.e-iceblue.com/Download/Spire-XLS-Python.html)に基づいています。PyPI:`pip install Spire.XLS`。

## PythonでExcelファ

元記事を表示

numpy to json

“`python
class NumpyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.ndarray):
return obj.tolist()
return json.JSONEncoder.default(self, obj)

nav = json.loads(json.dumps(nav_list[i], cls=NumpyEncoder))
“`

元記事を表示

GithubActionsでECRのImageをもとにLambdaをデプロイする方法

## 概要
– GithubActionsと ECRのイメージをもとにLambdaをデプロイするCICDを構築したため、記録として残しておく。
– 本記事を通して、下記が実現できるように記載していく
– ローカルでコード編集
– Commitして、GithubへPush
– GithubActionsが実行
– 編集後のコードをLambdaに自動デプロイする
– 最終的な構成として、キャプチャのよう流れとなる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3531653/416025ea-2643-0084-e630-25d3625f83bd.png)

## 前提
– Githubの操作(CommitやPushなど)経験があること
– AWSのアカウントがあること
– この記事内ではオレゴンリージョンを使用しているため、リージョンコードが `us-west-2`で進めています。なので、東京リージョンなどを使用する際は適宜書き換えてください
– C

元記事を表示

Python FASTAPI 使ってみよう 仮

# はじめに

今回はPythonフレームワークFASTAPIについてやっていきます。

FASTAPIとは?
高速処理を可能でデバックなどもし易い。そんなフレームワークです。

ソースコードの構文について
 FLASKのようにJINJAにも対応していて、似ているところが多いです。

# 環境構築

インストールするのは以下の通りです。

pip install fastapi
pip install uvicorn
pip install sqlalchemy #後ほど使います
pip install sqllite #後ほど使います

# 環境テスト

“`

pip install fastapi
pip install uvicorn
pip install sqlalchemy
pip install sqllite

“`

#腕試し

“`python:main.py
import uvicorn
from typing import Union

from fastapi import FastAPI

app = FastAPI()

@app.get(“

元記事を表示

ChatGTPとタッグを組んで作成したGASとpythonを用いた販売分析と発注フォーマット

こんにちは
スーパーの店員をしていますおじちゃんです。
自己紹介は↓

https://note.com/turimeijin/n/ne8205190e1d4?from=notice

私のスーパーでは毎週決まった曜日に特売セールを実施しています。
恒例企画や日替わりお買い得品など盛りだくさん。お客様で賑わいます。

今回は私の右腕!**ChatGTP**と共に、販売分析を行い、特売商品の**発注**をしてみました。

# ChatGTPと作り上げた発注フォーマット #

**次回の特売日の発注数量(商品名は加工しています)**
![スクリーンショット 2024-05-27 200056.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775188/557c42f6-b497-8cc8-4ce1-1c9ba513eeb4.png)

::: note info
このように実施しました。
1.販売数量上位30品の抽出する。
2.同様に近隣店舗2店の上位30品を抽出する。
3.近隣店舗との比較を実施し検

元記事を表示

Docker-ComposeでGodot用のサーバーを立てようとした話(接続編)

これの続きでございます

https://qiita.com/typegarnet/items/5025ed18e42ad1d0d587

# Godotの資材をアップロードすれば行けるっしょ?
とりあえずPythonでWebSocketのバックエンドをコーディングをして、GodotのWebSocketPeerとの接続が成功すればあとはHTTPSのHTML置き場にアップロードすればチョチョイのパーっしょ。
そう思っていた時期が私にもありました。

# とりあえずバックエンド
#### Python3でWebSocketのサーバーサイドのエコーバックを作る。
ポート番号に深い意味はない。
“`python
# coding: utf-8

import asyncio
import websockets
class WebSocketServer:
def __init__(self, host, port):
self.host = host
self.port = port

async def server(self, ws, pa

元記事を表示

Pythonで論理演算

# はじめに
前回から続いて論理演算をやってみます。
動作確認はGoogleColabpratoryで行っています。

# 論理和
“`python
num = 10

num > 100 or num < 1000 ``` # 論理積 ```python num = 10 num >100 and num < 1000 ``` # 否定 ```python num = 10 not num > 1000
“`

元記事を表示

クラスタリングでラベリングして分類

クラスタリングは教師なし学習の中で集合に対してラベリング処理を行います。
そこで、クラスタリングの結果をクラスとして、それを元に教師あり学習をやってみようという原始的なアノテーションをやってみます。
# 関数
“`Python3
from sklearn import preprocessing
import matplotlib.pyplot as plt
import numpy as np
def showline_clf(x, y, model, modelname, x0=”x0″, x1=”x1″):
fig, ax = plt.subplots(figsize=(8, 6))
X, Y = np.meshgrid(np.linspace(*ax.get_xlim(), 1000), np.linspace(*ax.get_ylim(), 1000))
XY = np.column_stack([X.ravel(), Y.ravel()])
x = preprocessing.minmax_scale(x)
model.fit(x,

元記事を表示

Anacondaで実行可能なPython(バージョン)の検証

# 目的
Anaconda3[^1]で実行できるPythonのバージョンを検証してみます[^2]
[^1]:Anacondaとは、Anaconda社によって開発、配布されているPythonディストリビューションです
[^2]:検証モジュール:Anaconda3-2024.02-1-Linux-x86_64.sh

# AnacondaとPyPIについて
バージョン違いのPython実行用環境を複数用意しようとした場合、Anacondaの方が簡単に環境構築できます。Anacondaをインストールするだけで、condaコマンドを使って異なるバージョンのPython実行環境を構築できます。

一方、Anacondaと比較されることがあるPyPIで同じことを実施しようとした場合、手動でバージョン管理を行う必要があります。バージョン毎に公式サイトからPythonをダウンロードしてインストールしなければなりません。

# Anacondaインストール方法
###### インストール環境
* Red Hat Enterprise Linux 9.4
* Anaconda3-2024.02-1-Lin

元記事を表示

sphinx

インストール
“`
pip install sphinx sphinx_rtd_theme sphinx-autobuild
“`

sphinxの実行
“`
#
# -F, conf.pyやmakeファイルを生成するオプション。スフィンクスPJの最初だけつける
# -H
# -A <作者>
# -V
# -o <出力先ディレクトリ>
# 最後に対象のソースコードが入ったディレクトリを指定する
sphinx-apidoc -F -H kaida_PJ0525 -A Ryosuke -V 0.0.1 -o ./docs ./mylibraries
“`

conf.py
“`
import os
import sys

sys.path.insert(0, os.path.abspath(‘../mylibraries’))

# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configurati

元記事を表示

OTHERカテゴリの最新記事