Python関連のことを調べてみた2020年06月20日

Python関連のことを調べてみた2020年06月20日

東京海上日動 プログラミングコンテスト2020 復習

#今回の成績

スクリーンショット 2020-06-18 21.23.33.png

パフォーマンスは1270くらいでした。

#今回の感想

この次の日のABCが悪すぎて全て持っていかれましたが、この回ももう少し戦えたかなと思いました。
しかし、結果的に黄diffと橙diffの問題を復習で解き切ることができたので、良かったかなと思います。
高難易度は冷静に時間をかければ(3時間くらい)できるので、このスピードを少しずつあげられる努力をしていきたいなと思います。
パフォーマンスはよくないですが、戦えるなと感じる回でした。最近このような回が続いているので、コンテスト中に解き終わることができるように

#[A問題](https://atcoder.jp/contests/tokiomarine2020/tasks/to

元記事を表示

Python で zip 展開(日本語ファイル名対応)

## zip の中のファイル名

zip ファイル内にアーカイブされている各ファイルのファイル名エンコーディングは、(現バージョンだと) UTF-8 フラグの有無を指定することができるようですが、 UTF-8 以外のエンコーディングは指定することができません。

日本語ロケールの Windows で圧縮すると(ツールにもよりますが)、ファイル名は Shift_JIS (CP932) で書き込まれます。最近の Linux や Mac は UTF-8 がほとんどです。

異なる OS で圧縮された zip ファイルを展開するときに、 UTF-8 フラグが付いていれば問題なく展開することが可能ですが、 Shift_JIS (CP932) が使われている場合、ファイル名の文字化けが起きることがあります。

具体的に言うと Windows → Linux / Mac など。この場合は `unar` などのアーカイバを使ったり、 `convmv` などで化けたファイル名を修正する方法があります。

これとは別に Python の ZipFile ライブラリでも正しくファイル名を認識することができま

元記事を表示

レシートプリンタでメモ書きを印刷する(連載)

# レシートプリンタでメモ書きを印刷する

## 困っていること
まずは何あれ、問題定義!
私は、タスク管理ツールを何度も使ってみては、失敗してを繰り返しているのですが、それは、スマホでいちいちタスクを開くのが面倒くさいから、物理的に見えないからなのではないかと思い、プリンターで印刷してしまえばいいのではと思いこれらを作成しました。

## 機能
* タスクを管理する(これはタスク管理ツールに頼ろう)
* タスク管理ツールからAPIでデータを取得する
* タスクをプリンターで印刷する
* 一定の時間にタスクを実行して、毎朝タスクが送られるようにする
* 出したいときにタスクシートを印刷する

## 使用するもの
* Google ToDo
* python
* socket(未定)
* raspberrypi

## まとめ
タスク管理を毎日確実にできるようになれば、いまのコロナでサボりまくっている生活週間をかえれるはず!!

元記事を表示

時系列のcsvデータを一瞬で合計や平均を求める方法

## TL;DR
* 時系列csvを扱うためには、pandasを使えば良い

## やりたいこと
* https://qiita.com/kazutxt/items/a23412625fa3e1f35443
* こちらで蓄積しているデータ(CSVの時系列データ)から日別,月別の平均を求めたい

“` input.csv
# 日付(分まで),USDレート,JPYレート,EURレート
# 10分毎に1日144行のデータが存在
# 2020/2/24 18:00 ~ 2020/6/11 23:10
yyyy/mm/dd HH:MM,NN.N(data),NN.N,NN.N
yyyy/mm/dd HH:MM,NN.N(data),NN.N,NN.N
yyyy/mm/dd HH:MM,NN.N(data),NN.N,NN.N
“`

## 車輪を再発明しようとする
### まずは、コードを書いて求める(求めようとする)

1. ファイルを開く
2. 1列目を日時とみなしてdate型に変換する
3. 同じ月,日の境目を超えるまで、値を蓄積する
4. 蓄積したデータをデータを蓄積した個数で割

元記事を表示

Alexaにlambda連携させて中野区のゴミの日を教える

# やりたいこと
Alexaからlambdaを呼び出して中野区のゴミの曜日を返します。
全く触ったことのない人でも一から作れるように書きました。

![alexa.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/619762/479c5032-72bd-f550-e10d-bcc353a8af8c.png)

[ALEXAで開発入門してみたので自分なりに纏めてみる](https://qiita.com/godan09/items/6dafc3da51b10532dbe1)
こちらの記事を参考に作ってみました。
細かいところまで説明されていてとても勉強になりましたが、
AWSの仕様変更のためか途中でつまづいたのでその辺りも本稿で記載します。

# 必要なもの

* [Amazon開発者ポータル](https://developer.amazon.com/ja/)のアカウント取得 (Alexaのスキル作成に必要)
* [AWSマネジメントコンソール](https://aws.amazon.com/jp/c

元記事を表示

Python超初心者の超初心者のためのPython #辞書型2

環境
windows7 (Mac Book Pro 16inch欲しい)
Visual Studio Code
chrome
python ver3.8.3

この記事はプログラミング初心者かつPython初心者に向けて記述します。

##辞書型2

辞書型には色々な機能があります。
今まで作成した辞書型に要素を追加したいときには`.update`が使えます。
下記は既存のアカデミー賞辞書に80年代のアカデミー賞作品を追加するという例です。
新たに80年代のアカデミー賞作品の辞書`academy_80s`を作成し、
`既存辞書.update(新しい辞書)`の記述方法に当てはめて行ってみます。

“`python:dict.py
academy_awards = {“グリーンブック”: 2019, “シカゴ”: 2003, “タイタニック”: 1998}

academy_80s = {“レインマン”: 1989, “プラトーン”: 1987, “ガンジー”: 1983}

academy_awards.update(academy_80s)
print(academy_awards)

元記事を表示

引数をファイル名かstdinから読み込む

“`python:引数をファイル名かstdinから読み込む
#!/usr/bin/env python3
“””
引数がファイルだったらファイルの内容を、
そうでなければ引数をprintする
“””
import sys
import fileinput
from pathlib import Path

if Path(sys.argv[1]).exists(): # 第一引数がファイルだったら
for line in fileinput.input(): # ファイルの内容を一行ずつprint
print(‘file input’)
print(line)
else: # 第一引数がファイルではなかったら
for i in sys.argv[1:]: # 引数の文字列をprint
print(‘args input’)
print(i)
“`

“`shell-session:実行結果
$ python stdin_test.py hoge.txt fuga.txt
file input

元記事を表示

コピペでいける、Googleスプレッドシートでシートの内容をJSON形式でダウンロードする方法(Google Colab使用)

## 【コピペ可能】 GoogleスプレッドシートをJSON形式でダウンロードする方法

まずはコードから。
Google Colabを開いて、下に記載された2つのコードをコピペするだけで指定したシート内の値をJSON形式でPCのローカルにダウンロードすることが可能です。

### 1.認証

下のコードをColab上で実行すると、認証を行うためのリンクなどが表示されるので、画面の指示に従って実行してください。

“`python
from google.colab import auth
from oauth2client.client import GoogleCredentials
import gspread

auth.authenticate_user()
gc = gspread.authorize(GoogleCredentials.get_application_default())
“`

### 2.JSON形式でダウンロード

下記のコードをColabにコピペして、`ダウンロードしたいスプレッドシートのファイル名` と `JSON形式でダウンロードしたいシー

元記事を表示

(自分用)Flask_4(ドロップダウンメニュー、txtデータの表示(表を使って))

# 項目
1. ドロップダウンメニューの作成
2. txtデータの読み込み
3. txtを整える

# 1.ドロップダウンメニューの作成
“`python:python
from flask import Flask, request, render_template
app = Flask(__name__)

players = [“勇者”, “戦士”, “魔法使い”, “忍者”]

@app.route(“/”)
def show():
message = “あらたなモンスターがあらわれた!”
return render_template(“battle.html”, message = message, players = players)
“`
– 今回はpy側に作ったリストを項目としてメニューを作成
– リストに関してはまあそのまま
– `return`にリスト名入れるの忘れない様に

“`html:html

OTHERカテゴリの最新記事