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

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

特定ディレクトリしたのエクセルファイル全体で検索したい時のメモ

# このドキュメントどこにあるの?

データ仕様とかがエクセルで定義されている場合があるんですがGrepでは難しいですよね。
もちろん、excelファイル自体はzipなので解凍してXMLをgrepすれば…できなくはないのですが整形済みで結果を見たいですので今回はやめておきました。
また、VBA使ってマクロでできるのですが、マクロ形式の拡張子のファイル作ったり結構面倒くさいのでこの方法も却下です。
ということで、いつものコマンドからサクッと検索できる方が良いと思うので作ってみました。

## ソースコード

“`requirements.txt
openpyxl
pandas
“`

“`grep_excel.py
import os
import pandas as pd
from openpyxl import load_workbook
import sys

def grep_excel(folder_path, search_word):
“””
指定ディレクトリの以下のEXCELファイルを再帰的に検索する
:param folder_path:

元記事を表示

[自分用] X API(Basic)でハッシュタグ付きの投稿リストを取得(投稿言語指定)[Python3]

自分用:言語指定込み(en, ja, 無指定)でハッシュタグ付きの投稿を取得。
ランダムに近くするように、1日をN(24の約数)分割して、その中で取得時間幅(1分)を生成。

動くことは確認したがコードの適切性は入念に検証していない。あと改行が適当すぎる。

事前に開発者プラットフォーム
https://developer.x.com/
でログインして、APP作成&プロジェクト作成を済ませる

“`
import random
import requests

# 日付系。calenderなどはルーティーン処理したかったので追加した
import datetime
from time import sleep
from dateutil.relativedelta import relativedelta
import calendar

# 保存用
# import csv
import json

import tweepy
“`

“`
# Twitter Developer Platformの使いたいAPPのページから取得する
API_Key = ”
A

元記事を表示

Python基礎

## 自己紹介
– Python独学歴2年目です(実務ではほぼ使っておりません)
– 普段の業務
– SQL
– PL/SQL
– BIツール
– Pythonを選んだ理由
– とある理由でWeb上からデータを取得したかった
– 比較的簡単
– 名前がかっこいい
## 本題
とりあえず資格いっとくかという勢いでPython基礎認定試験の勉強始めました(2024/09/02)
なんですが、2~3割くらい明確な答えがわからず正解or不正解しているのがあるので復習

ちゃちゃっと行きます。
### 徐算について
– Pythonでは「/」を使った除算は浮動小数点になる
“`python
addition = 2 + 5
subtraction = 7 – 5
multiplication = 2 * 5
division = 10 / 2
division2 = 10 // 2 # 「//」を使う

print(addition)
print(subtraction)
print(multiplication)
print(division)
print(divis

元記事を表示

Google Colaboratoryの印刷(PDF化)

# はじめに
Colarboratoryの印刷(PDF化)ができないというお話を聞いたので、対処法を考えました。

# 要約
ColabをブラウザでPDF化しようとしてもできない(はず)
一度HTMLに変換してからPDF化しましょう!
変換には添付のColabノートブックが便利です!

# お断り
Colabを用いたPython初心者用講義に寄せられた質問への回答のため、最も簡単な手法優先で紹介します。
せっかくなのでColab上でPythonを実行しよう!といったノリです。

別の手法があればご教示願います。
(オンラインツールによるIpynb to PDFも試しましたが、日本語非対応のせいかうまく変換されなかったので使っていません。)

Pythonコードの生成には生成AIを一部使用しています。
動作確認は十分にしたつもりですが、誤りがあれば大変申し訳ありません。

# 動作環境
Apple M1
MAC OS Sonoma バージョン14.1.2(23B92)
Google Chrome バージョン: 128.0.6613.120(Official Build) (arm64)

元記事を表示

How to Automate Watching Videos on Your Laptop Using Python

Automation can be a powerful tool to streamline repetitive tasks, including [watching videos](https://iptvmovistar.es/) on your laptop. While automating video playback can be useful for testing purposes or running media in the background, it’s essential to be mindful of ethical considerations, such as the fair use of content. In this guide, we will explore how to use Python to automate the process of watching videos on your laptop. We’ll cover setting up your environment, automating video playba

元記事を表示

PythonでAtCoder(ABC368D問題)解いてみた

# はじめに
問題は[こちら](https://atcoder.jp/contests/abc368/tasks)
初心者(灰色〜茶色)向けです。
# 伝えたいこと
Pythonで再帰を使うときは、
– PyPyを使わない!
– pypyjitライブラリが必要!
“`python
import pypyjit
pypyjit.set_param(‘max_unroll_recursion=-1’)
“`
# D – Minimum Steiner Tree
https://atcoder.jp/contests/abc368/tasks/abc368_d
## 考え方
### 大枠の方針
指定された頂点たち($V_1,…,V_k$)を一つ固定します。(ここでは$V_1$とします。)
不要な頂点を削除していき、求めたい状況の木になるのは、$V_1$を根とした時、葉が全て$V_1,…,V_k$たちのみで構成されているときです。[^1]
これは、各ノードについて、子孫ノードに$V_1,…,V_k$が存在しなければそのノードを取り除いていき、残っ

元記事を表示

Pythonで実装されたCOBOLインタープリタのご紹介

## はじめに

プログラミングをしていると、「この機能はどう動作するのだろう?」と気になることがよくあります。そんな時、まずはWebで検索して機能を確認し、さらに簡単なプログラムを書いて動作を確認することが一般的です。

Ruby、Java、Pythonならば、コードを書いて即実行できるので、試してみることに抵抗がありません。C++も、Visual Studioなどを使用すれば比較的簡単に試すことができますね。

しかし、COBOLはどうでしょうか?

手軽に動かせるCOBOL環境はなかなか見つかりません。もちろん、OpenCOBOLなどをセットアップすれば動作させることは可能ですが、そのセットアップには時間と労力がかかり、誰でも簡単に扱えるとは言い難いです。

そこで、「ないなら作ってしまおう」と考え、開発したのがインタープリタ型COBOL「Smart Interpreter Training COBOL」(以下 SIT COBOL)です。

![Black Beauty Makeup YouTube Thumbnail.png](https://qiita-image-stor

元記事を表示

python tkinter スライダーとスピンボックスの値連携

python tkinter スライダーとスピンボックスの値連携

spinboxの値は spinbox1.get() で取得する

scale1の値は var_scale 変数を用意しておき、
tk.scale1 = ttk.Scale で variable= のオプションで設定する

self.var_scale1 = tk.IntVar(self.root)
self.scale1 = tk.Scale(self.frame03, from_=0, to=255, orient=tk.HORIZONTAL, resolution=1, variable=self.var_scale_1, length=200, showvalue=False, command=self.func_scale_1_scrolled) # resolution=ステップ値, length=GUIフォームのサイズ:横幅 label=記述なしでラベル表示しない、showvalue=Falseで値表示させない

“`
import tkinter as tk
from tkinter import

元記事を表示

Pythonデコレータ入門

**Python** のデコレータは、関数やメソッドの振る舞いを変更するために使用される特殊な機能です。
`デコレータ`は、関数を引数として受け取り、新しい関数を返す関数です。
`デコレータ`は、`@`記号を使用して簡単に適用することができます。

デコレータの例
例えば、次のようなデコレータがあります。

“`python
def my_decorator(func):
def wrapper():
print(“Something is happening before the function is called.”)
func()
print(“Something is happening after the function is called.”)
return wrapper
“`

このデコレータは、`my_decorator`という名前の関数で定義されています。
この関数は、`func`という名前の引数を受け取り、新しい関数`wrapper`を返します。`wrapper`関数は、`func`が呼び出

元記事を表示

AWS CDKでカスタムIAMポリシーを作成する

## 目的
AWS CodeCommitのカスタマーマネージドポリシーを参考に、AWS CDKで個人開発した内容を記事とします。

下記を満たす実装を目指します。
* 指定した IP アドレス範囲から接続するユーザーにリポジトリへのアクセスを許可する
* ブランチに対するアクションを許可または拒否する

https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/customer-managed-policies.html

## 何をつくるか
CodeCommitを利用可能な2つのユーザグループを作成し、下記制限を満たすカスタムIAMポリシーをアタッチします。
* 管理ユーザグループ:
* CodeCommitに対するFullAccess権限をもつが下記を制限する
* 接続元のIPアドレスを制限
* 一般ユーザグループ:
* CodeCommitに対するPowerUser権限をもつが下記を制限する
* 接続元のIPアドレスを制限
* MASTERブランチへ

元記事を表示

文字列中に同じ文字が並んでいたら1文字にまとめたい

文字列中に同じ文字が並んでいたら1文字にまとめたい場合、Rubyでは`String#squeeze`を利用します。

“`ruby
p “112233445566778899”.squeeze
#=> “123456789”
“`

Python3で、同じことを実現するにはどうすればよいでしょうか?

まず`itertools.groupby`を利用する方法があります。

“`python
import itertools
s = “112233445566778899”
t = ”.join(c for c, _ in itertools.groupby(s))
print(t)
#=> ‘123456789’
“`

内包表記の代わりに`operator.itemgetter`を利用することもできます。

“`python
import itertools, operator
s = “112233445566778899”
t = ”.join(map(operator.itemgetter(0), itertools.groupby(s)))
print(t)

元記事を表示

プログラミング初心者が最難関問題をAIに解いてもらった【村人の友好関係 (paizaランク S 相当)】

# はじめに
プログラミング初心者がpaizaラーニングの最難関問題をAIに解いてもらった結果と、実装されたコードについてのメモをまとめた記事です。
詳しいことはあまり分からないのでコメントなどで私の知識を補ってくださる方はぜひコメントをお願いします。
# 問題内容
以下を参照
[【殿堂入りキャンペーン】村人の友好関係 (paizaランク S 相当)](https://paiza.jp/works/mondai/s_rank_skillcheck_archive/group_popularity)
# 使用したAI
ChatGPT (無料版) GPT-4o
# AIが実装したコード
import sys
input = sys.stdin.read
data = input().splitlines()

# 入力をパース
N, M, Q = map(int, data[0].split())
friendship = [[0] * (N + 1) for _ in range(N + 1)]

# 友好度情報の格納
fo

元記事を表示

島探し (paizaランク S 相当):

[島探し (paizaランク S 相当)](https://paiza.jp/works/mondai/s_rank_skillcheck_sample/search-island)

https://paiza.jp/works/mondai/s_rank_skillcheck_sample/search-island

## 背景
列の数がM、行の数がNの表があります。表の各マスは白か黒で塗られています。
黒で塗られたマスが上下左右で隣接している時、その黒マスの塊をまとめて「島」と呼びます。
例えば、以下のような4列×5行の表(M=4、N=5)があった場合
![スクリーンショット 2024-08-29 6.26.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527611/7bcfb3eb-e3d0-c1da-4fdd-279745ef69f4.png)
この表には以下の(1)~(3)のように3つの島が存在します。

![スクリーンショット 2024-08-29 6.26.51.png](ht

元記事を表示

Pythonでスクレイピングをしてみよう

## はじめに
こんにちは、らっじです

今回は、Pythonでスクレイピングする方法を解説します

## 環境
以下の環境で実行してます

– Ubuntu 24.04 LTS x86_64 (Proxmox)
– Python 3.12.3 venv
– beautifulsoup4 4.12.3
– requests 2.32.3

beautifulsoup4とrequestsはpipでインストールしています

## スクレイピングとは
WebページはHTMLで書かれていて、それを解析して必要な情報を抜き出すことをスクレイピングといいます

:::note warn
スクレイピングをしまくるとサーバーに負荷がかかったりするので、スクレイピングを禁止しているサイトもあります
:::

スクレイピングの手法は大きく分けて、

1. HTTPリクエストを送り、返ってきたレスポンスのHTMLを解析する
2. ブラウザをスクリプトで操作して情報を取り出す

という2種類がありますが、今回は1のほうをやります

(2のほうはSeleniumというライブラリでできるので興味があったら調べてみ

元記事を表示

mod7占い (paizaランク S 相当):Python3解答例

[ mod7占い (paizaランク S 相当)](https://paiza.jp/works/mondai/s_rank_skillcheck_sample/mod7)

https://paiza.jp/works/mondai/s_rank_skillcheck_sample/mod7

## 背景
あなたは今、「mod7占い」というサービスを始めようと考えています。

mod7占いとは、整数が書かれた複数のカードの中から3枚を選び、そこに書かれた整数の和が7で割り切れるかどうかで運勢を決めようというものです。 カードは必ず異なる3枚を選ぶ必要があり、全てのカードには全て異なる数字が書かれています。

占いというからには、7で割り切れる組み合わせはそれなりに少なくする必要があります。 そこで、適当な複数のカードに対して、カードに書かれた3つの整数を足した和が7で割り切れるような組合せがいくつあるかを計算するプログラムを作成してください。

このPythonコードは、与えられた整数のカードから3枚を選び、その和が7で割り切れる組み合わせの数を効率的に計算するためのものです。

元記事を表示

ChatGPTのおかげで未使用だった”Python”を実務で初めて使用できたお話。

## 使えずに眠っていたPythonを今度こそ実務に活かせそう!
こんにちは。某小売業で冷凍バイヤーしていますK-jiです。

過去に少し学んだPythonを実際の業務で初めて使用できたので
この喜びを、同じ悩みを持っている方にも共有できればと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3840234/76c84861-4030-0d0c-8c85-494ec6b3f3f4.png)

## (1) ChatGPT × Python 出会いと実施したこと
当初は**ChatGPTを活用してできる業務改善**を探していただけなんです。そんな中
**YouTubeで見たおすすめ 7つの仕事術の内の1つで「分類」という項目に着目しました。**

そして普段の業務で改善したかったことは、約2,000アイテムからデータ分析を行うための
前処理で「分類」を実施し事前にデータに要素を追加したいということ

Python 導入方法について

# 挨拶
おはこんばんにちは。
ポポノタンと申します。
エンジニア志望の元製造メンです。

今回はPythonの導入方法について解説していこうと思います。

:::note warn
windows環境にVSCodeを導入する解説となっております。
:::

※Macや仮想環境での導入は今回は取り扱わないです。ご了承くださいm(_ _”m)

# ①PythonのインストーラーのDL
![18f5c49bbc4139ae5149a4b04edf4135.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3864659/cce92cc9-874c-206d-7020-530cd859022d.png)

https://www.python.org/downloads/

上記のURLから「Download Python~」と書いてある箇所をクリックし、PythonのインストーラーをDLしてください。

# ②Pythonのインストーラーを起動
![240703d44508a5f0c1aaf66793f27d

ipynb on VSCodeにおいてmatplotlibで描画した3dグラフをいろんな角度から見られるように表示する方法 ~ipymplを使うよ~

【ポイント】
ipymplのインストールと`%matplotlib ipympl`の使用

## 下準備
(下記は、venvによる実行環境管理を前提とします)
– VSCode, Pythonのインストール
– プロジェクトディレクトリに移動
– 仮想環境の作成(venv)
– `python3 -m venv myenv`
– 仮想環境に入る
– `source myenv/bin/activate`(Mac)
– `.venv/Scripts/Activate.ps1`(Windows)
– ノートブック用パッケージipykernel, ipymplのインストール
– `pip install ipykernel ipympl`
– その他必要パッケージインストール(matplotlib, numpyは一つ前の手順で自動的にインストールされる)
– カーネルの選択
– ipynbファイル右上の「カーネルを選択」から先ほど作成した環境を選択

## コードの実行
次のサンプルコードを、ipynbのセルに入れて実行してみます。

“`python
import m

paizaラーニングレベルアップ問題集をPython3でやってみた

paiza×Qiita記事投稿キャンペーンということで、キャンペーン対象問題25問をPython3で解いてみました。
– – –
###### [文字の一致](https://paiza.jp/works/mondai/d_rank_skillcheck_sample/diff_str)
“`py
print(“OK” if input() == input() else “NG”)
“`
– – –
###### [一番小さい値](https://paiza.jp/works/mondai/d_rank_skillcheck_sample/min_num)
“`py
print(min(int(input()) for _ in range(5)))
“`
– – –
###### [足し算](https://paiza.jp/works/mondai/d_rank_skillcheck_sample/addition)
“`py
a, b = map(int, input().split())
print(a + b)
“`
– – –
###### [Eメールアドレス

お菓子の詰め合わせ (paizaランク A 相当):Python3解答例

[ お菓子の詰め合わせ (paizaランク A 相当)](https://paiza.jp/works/mondai/a_rank_skillcheck_archive/school_hiking)

https://paiza.jp/works/mondai/a_rank_skillcheck_archive/school_hiking

## 背景
A 君は学校の遠足に持っていくお菓子を買わなければなりません。しかし、学校のルールにより、お菓子の総額は指定範囲内に収めなければなりません。
そこで、指定金額ギリギリまで使って、なるべく色々な種類のお菓子を食べたいと思った A 君は買うお菓子を決めるために、学校のルールと自分の要望を踏まえて以下の基準を満たす買い方をすることにしました。

:::note info
・お菓子の総額を指定範囲内

・種類の数を最大にする

・同じお菓子は複数買わない

・お釣りを最小

・お釣りを最小にすることよりも種類の数を最大にすることを優先する
:::

お菓子の値段が書いてあるリストが与えられるので、A 君の代わりに、上記ルールを満たすお菓子の組み