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

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

PostgreSQL: サブセットのテーブルをペアレントのテーブルにコピー

## テーブル定義

サブセットのテーブル

“`text
city=# \d cities
Table “public.cities”
Column | Type | Collation | Nullable | Default
————+———————–+———–+———-+———
id | character varying(10) | | not null |
name | text | | |
population | integer | | |
date_mod | date | | |
Indexes:
“citi

元記事を表示

Anacondaを使わずPythonにGDALをインストールする方法

PythonにGDALをインストール手順で躓いた際の解決方法の備忘録です。私はGDALでしか検証していませんが、地理空間系の解析に必要な他のライブラリ(basemap, Cartopy, cftime, Fiona, netCDF4, pygeos, pyproj, rasterio, Rtree, shapely)についても同様の手順が使えそうです。

# GDALのインストールでエラー発生

久々に画像解析の作業を行うことになり、PCにPythonをインストールしました。次いで必要なパッケージも`pip`コマンドを使ってインストールしていったのですが、GDALをインストールしようとしたところ、エラーが出て止まってしまいました。

“`terminal
> pip install gdal

Collecting gdal
Using cached gdal-3.9.1.tar.gz (840 kB)
Installing build dependencies … done
Getting requirements to build wheel … done

元記事を表示

Seleniumの激遅find_elementsから開放されよう、lxmlのすすめ

# はじめに
ブラウザ操作を自動化するライブラリのSelenium。
Seleniumのfind_elementメソッド遅くて正直しんどくないですか?
特に大量のデータを扱うときなんかだと、イライラしてキーボードを投げたくなっちゃうこともしばしば…。
そんな時は、`page_source`をもってきてlxmlに食わせてしまいましょう。

# 動作環境
– Python 3.12.3
– google-colab-selenium-1.0.13

# どのくらい違うの?
以下のコードで実行時間を比較してみました。
今回は、例として、[Yahoo Japan](https://www.yahoo.co.jp/)からリアルタイム検索で話題のキーワードを取得します。

“`py
import google_colab_selenium as gs
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import datetime
import lx

元記事を表示

pythonでopenCVを使おうとしたらimportエラーが起きた

# はじめに

WSL2+poetry+python環境で開発を行っています。
昨日までは問題なく実行できていたプログラムでしたが、今日は急にopenCVがエラーを起こしました。
なんで昨日までは動いていたんだよ…

最後の一文に原因が載っていました。
“`
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
“`

libGLがないとのことです。

# やったこと

結構ありがちなエラーらしく、いろいろな記事で触れられていました。
人によってやり方が違うので、まとめて載せておきます。

私は以下のコマンドで解決できました。

“`bash
sudo apt install libopencv-dev
“`

libopencv-devを削除したうえで、以下のコマンドも試してみました。
こちらも解決できました。

“`bash
sudo apt install libgl1-mesa-dev
“`

以下は試していませんが、解決するらしいです。
“`bas

元記事を表示

Python FizzBuzz問題

**FizzBuzz**問題とは、「1~100までの値で3で割り切れる場合Fizz、5で割り切れる場合はBuzz、両方で割り切れる場合FizzBuzz」と表示するものです。
多種多様な書き方があるので一部を抜粋

#### 1
“`python
for i in range(1, 101):
if i % 3 == 0 and i % 5 == 0:
print(“FizzBuzz”)
elif i % 3 == 0:
print(“Fizz”)
elif i % 5 == 0:
print(“Buzz”)
else:
print(i)
“`

#### 2
“`python
for i in range(1, 101):
if i % 3 == 0:
print(“Fizz”, end=””)
if i % 5 == 0:
print(“Buzz”, end=””)
if i%3 and i%5:
print(i

元記事を表示

Python用 型一覧【自分用】

| 1 | 2 |
|:-:|:-:|
| 真偽 | bool |
| 数字(整数) | int |
| 数字(少数含む) | float |
| 文字列 | str |
| リスト | list |
| タプル | tuple |
| 辞書 | dict |

元記事を表示

【初心者向け】知っておくと役に立つPythonのTips

Pythonで意外と知らないTipsをいくつか紹介
逐一思い出し次第追加していきます。

### 文字列の中で変数を使用する
“`python
a = “hoge!”
print(f”Hello,{a}”)
“`

### リストの最後尾
Pythonでは、インデックスに-1を指定することにより、一番最後の値を参照することができる
“`python
list = [“hoge”, “hogee”, “hogege”, “hogehoge”]
print(list[-1])#出力 hogehoge
“`

### リストのスライス
リストは[]内で:を使用することにより、n~mというように一部を取り出すことができる
“`python
list = [“hoge”, “hogee”, “hogege”, “hogehoge”]
print(list[2:4])#出力 [‘hogege’, ‘hogehoge’]
“`
これを利用することにより、文字列の「何文字目から何文字目」というような取り出し方もできる。
“`python
string = “hello world!”
p

元記事を表示

【python】PDFファイルの文章をテキストファイルに変換してみた

# はじめに
pythonプログラムを使ってサーバー上のPDFファイルを読み取り、テキストファイルに読み込む必要性が出てきたので、調査しました。

## pdfminer.sixのパッケージインストール
PDFを読み込むライブラリとして、「pdfminer.six」パッケージをインストールします。

pipコマンドを使います。

“`
$ pip install pdfminer.six
“`

## 実装したソースコード
LAParamsオブジェクトを作成し、extract_text()のオプションを指定し、抽出結果をテキストファイルにするため、codecsライブ来を使います。

“`python
from pdfminer.layout import LAParams
from io import BytesIO
from urllib import request
from pdfminer.high_level import extract_text
import codecs

url = “https://flora-inc.co.jp/score/%E4%BB%A

元記事を表示

MacのpyenvでPython3.11, 3.12をインストールできない

ネット上でまとまった日本語の記事を見つけられなかったので、今後同じ過ちを繰り返さないため&同じ事態に遭遇して挫折している方の手助けになればと思い作成しました!
## 要約
– 開発PCのMacのCPUがX86_64である。
– homebrewを使用している。
– pyenvでPython3.11, 3.12をインストールできない。
– pyenvインストール時にXCodeのCLangではなくGCCを使用したためにエラーが発生している。
– つまりPATHをいじれば良い。
## はじめに
今回MacにpyenvでPython3.11, 3.12をインストールできない状態になったのでそれを解決した方法を記事にします。
Macユーザーで開発されている方もおられると思いますが、Mac購入時にCPUまで気にされる方は多くないのではないでしょうか?
実は重要な内容だったりします。
今回のPythonがインストールできない原因はCPU依存だったのです。
## 環境について
まず僕のMac環境からです。
– CLIはzshでbrewで各種ツールをインストール。
– direnv、poetry

元記事を表示

Mp3ファイルを再生 [python]

# 概要
デジタルフォトフレームは写真のみ再生ですので、バックグラウンドにMP3ファイルを再生するのもよいかなと思ってネットで調べたものをメモしてみます。

# インストールするパッケージ
①サウンドを出力するパッケージをインストールする

・パッケージインストール

~~~bash
pi@RPI3B:~ $ pip install playsound
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting playsound
Downloading https://www.piwheels.org/simple/playsound/playsound-1.3.0-py3-none-any.whl (8.0 kB)
Installing collected packages: playsound
Successfully installed playsound-1.3.0
~~~

・サンプルコード

~~~bash
import playsound
playso

元記事を表示

Python 標準入力について

# はじめに
 paizaラーニングを活用して、pythonを学んでいます。
 スキルチェックにおいて、標準入力で時間がかかることがあるので、備忘録を兼ねて入力要領を整理しました。  

# 標準入力とは
 Pythonの組み込み関数“ input() “を使用し、キーボードから入力を受け付けるものです。

 以下の表のとおり整理して記述します。
| 入力値 : 入力先 |入力値が1行 |入力値が複数行 |
|:—————:|:———-:|:————:|
| 数値:変数1つ | ① | ② |
|   変数複数 | ③ | ④ |
| 文字:変数1つ | ⑤ | ⑥ |
|   変数複数 | ⑦ | ⑧ |

# 数値入力
### ① 変数が1つの場合(入力値が1行)
 (例)入力値が(12)や(1.0)の場合
“`python:入力方法
n =

元記事を表示

python勉強記録①

pythonの勉強中で、作りたいものが無いためとりあえず
CPU使用率、memory使用率を取得しDBへ保存するプログラムを作成してみました。

**目的**
– DBの学習
– sqlalchemyの使い方

“`text
Package Version
————————- ———–
altair 5.3.0
pip 24.0
psutil 6.0.0
pytz 2024.1
SQLAlchemy 2.0.31
streamlit 1.36.0
“`

“`python:moniter.py
# pip install psutil
# pip install sqlalchemy
# pip install pytz

import psutil
import datet

元記事を表示

表記の訂正 (paizaランク C 相当)

問題
———————————————————————-
paiza 研究所では実験データをわかりやすい形式で保存したいのですが、
機械によって得られる数値には、次のような表記ミスがあることがわかっています。

・ ミス 1
先頭に必要のない 0 がいくつかついてしまう
・ 本来 1 である数値が 0001 と表記されてしまう
・ 本来 0.001 である数値が 00.001 と表記されてしまう

・ ミス 2
小数である数値の末尾に必要のない 0 がいくつかついてしまう
・ 本来 0.1 である数値が 0.10 と表記されてしまう

・ ミス 3
小数である数値に小数点が複数個ついてしまう
ただし、 1 つめの小数点の位置が正しい小数点の位置であるものとします
・ 本来 0.123 である数値が 0.1.2.3 と表記されてしまう。

表記が正しくない可能性のある数値を表す文字列 S が与えられるので、その数値を正しい表記にしてください。
S を数値として扱うと上手く処理が行えないので気をつけ

元記事を表示

PCの初期設定(アプリとminiconda)

## 前回までのあらすじと今回の話

前回、PC購入までの経緯をいろいろと記述しました。
(前のPCからzenbook14を買うまで)
今回は、macからwindowsに乗り換えたときにどんな初期設定をしていたかの話を、初めての記事投稿イベントに参加しつつお話させていただきます。

それはそうと、前の記事が96 viewとのことで、いろいろな方に見ていただいたようで、非常にうれしかったです。ありがとうございます。

今回は、初期設定でかなり悪戦苦闘したので、それについての話をしていきます。
悪戦苦闘した過程を記載するので、かなり長くなります。

## installしたアプリケーション
インストールしたアプリは以下の通りです
– python3.12 (MS store経由)
 condaなどのベースに必要
– miniconda (ブラウザ(brave)経由)
 前のパソコンでanacondaを使っていたが、
 インストールされるパッケージが多すぎたのでこちらを選択
– vscode (ブラウザ(brave)経由)
&en

元記事を表示

pythonコマンドは使えるが、python3コマンドが使えない

## はじめに
pythonを使って共同で開発をしていたところ、以下のようなsubprocessで`python3`コマンドを使って非同期でファイル実行するコードが動かなかった。
“`python
subprocess.run([“python3”, os.path.join(script_dir, “hogehoge.py”)], check=True)
“`

調べてみたところ、私の環境で`python3`コマンドではなく、`python`コマンドでしかpythonを動かすことができない事が原因でした。

一人で開発する分にはコードのpython3という記述をpythonに変えてやるだけで良いのですが、共同開発なのでむやみに変更するわけにもいきません。

そこで今回は`python3`コマンドが動かない原因と解決策を調べたのでまとめいきます

## python3が動かない原因
基本、windowsではpythonがpython.exeがインストールされていることが一般的です。
一方でLinuxやMac OSのようなUnix系システムではpython2.Xとpython3.Xコ

元記事を表示

【Flet】ヘッダ表示固定の簡易DataTableを作ってみました

# 概要
FletのDataTableですが、表をスクロールするとヘッダもスクロールされて見えなくなってしまいます。
これを改善するために、ヘッダ表示固定の簡易DataTableを作ってみました。

# 解決したいこと
Flet標準のDataTableは、ヘッダごとスクロールされます。
ヘッダが見えなくなっちゃうので、ヘッダが固定されたデータ表を作りたい。

↓Flet標準のDataTable
![datatable.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601563/54cc9143-4e66-f1ff-2c93-fcc9c7a78280.gif)

# ヘッダ固定のデータ表を作ってみました
イメージ図は以下になります。

FixedHeaderDataTableクラスは、Columnコントロールを継承しています。
その中でヘッダ部分とスクロール可能なデータ部を配置しています。
そのFixedHeaderDataTableクラスをPageへ配置しています。

![名称未設定ファイル.draw

元記事を表示

【Flet】DataTableでスクロールしたい

# 概要
Fletを試していてちょっと躓いたところがあったので備忘録として記載します。
データ表を表現しようと、FletのコントロールであるDataTableを使おうとしたのですが長い表になるとスクロールできませんでした。
スクロールできるようにする方法を簡単な例で説明いたします。

# 結論
スクロール可能なコントロールの中に配置しないといけないそうです。
Fletではスクロール可能なコントロールが決まっているようです。

https://flet.dev/blog/scrolling-controls-and-theming/

# 簡単な例で説明
Pythonバージョン:3.10.10
Fletバージョン:0.22.1

### DataTableをそのまま配置するとスクロールできません
スクロールバーが表示されず、全データ見ることができないです。
![スクリーンショット 2024-05-31 162856.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601563/7e771b87-bb2d-f

元記事を表示

TensorFlowを利用するWSGIサーバの構築に向けたPython3環境の構築

# 背景

ChatGPTには、画像アップロード機能が加わり、画像解析を行う機能が追加されたことを知ることになった。

画像ストアサービス【PhotoGalleryosm.yokohama)】を運営する身としては、垂涎ものである機能と思い、早速WebAPI経由で接続をすることを試したくなった。

そんな中、ChatGPTの中で、文章末尾にあるソースの提示を受ける。ありがたや、ありがたや。

## 前提
OS: Amazon Linux 2
Python: version python-3.9.18
Apache Web Server version: Apache/2.4.59

#### TensorFlowは、以下のスレッドで問題に上がっているようなことがあるため、Pythonバージョンを指定する必要がある
https://github.com/pybind/pybind11/is

元記事を表示

Macのデスクトップに保存したQRコードを、カメラ機能を使わずにPython3で直接読み取る

# 環境
>macOS ventura 13.2
Python 3.10.4
selenium 4.19.0(pip)
pyzbar 0.1.9(pip)
zbar 0.23.93(HomeBrew)

# これを作った理由
>iPhonで読むには文字が小さすぎるので、パソコンで読みたい(もう70才なので小さい文字はどうも・・・)。
でもQRコードを読み込むのはどうすればいい?
iphonでqrコードを読み取ってメールで送る?
iPhonみたいにカメラで写真も撮れないし・・・。
それでは、Macのディレクトリやデスクトップに保存したQRコードを、カメラ機能を使わずにPython3で直接読み取ることは出来ない?
ということでChat-GPTに相談したところ、
Pillowライブラリを使用して画像を読み込み、qrcodeライブラリを使用してQRコードをデコードする方法がある
という事なので相談しながら作ってみました。

# 必要なライブラリの確認
>1, Homebrewに”zbar”が入ってますか?
 入ってなければ:brew install zbar
2

元記事を表示

flet ページ切り替え (decorator)

最初は [flet-easy](https://github.com/Daxexs/flet-easy)を使おうとしたけど
`page.theme_mode` がページ上で変更できなかったり (見つけてないだけかも)
`fs.Datasy` が使いにくかったので、fletだけで作ろうと思い
flet-easyの構文が好きだったので作りました

“`py: easy_app.py
import flet as ft

class EasyApp():
def __init__(self, route_init=”/”):
self.route_init = route_init
self.route_list = []
self.ft_page = None
self._custom_wrapper_befor = None
self._custom_wrapper_after = None

def custom_wrapper_befor(self, func):
self._custom_wrapper_befor =

元記事を表示

OTHERカテゴリの最新記事