なかのにっき
最新版はこちら。
突っ込みは各日付の BBS エントリのほか、
メール (nakano@st.seikei.ac.jp) や
フォーム
からどうぞ。
なおスパム除けのため、BBS 機能には
緩い認証を入れて
います。
検索エンジンから来た方は、エンジンの方のキャッシュを見るか、
下の簡易検索を試してみてください。
hns - 日記自動生成システム - Version 2.19.5
#1
12 月
まじすか。
#2
IVC 22 実行委
13-15。web 更新ほかフォローなど。
#3
講義準備
固体物性。夜までかかった。うぐぅ。
#1
自宅勤務
にさせていただいた。
#2
輪講 I
というわけで 100 分。こちらも残すは年内あと 2 回ですね。
学科会議〜教授会x3〜新コース会議で 13-20。うひー。
#4
講義準備
無機材料合成のノート作りと録音。深夜まで。
#1
固体物性 I
来客おふたり。
#2
早期修了説明会
するなど。
#3
コース主任のお仕事
修論提出周りのマニュアル書きとか整備とか。
#4
講義準備
特論 II の。しかしキッチリ追い込めなかった…
#1
無機材料合成・特論 II
特論はやっぱりいろいろまずった。大変申し訳ありません。
#2
清水研輪講
今年度は一段落とのことで。おつかれさまでした。
#3
いろいろ
メールを多数。物品照合を送ったり発注関係とか。
帰ろうと思ったところにまたメールがきて対応したりとか。
つかれた。体力が落ちてて仕事の能率が悪く余計に時間がかかるという悪循環である…
今日は大変珍しく空いていた。そのまま 30 分くらいでビラノアもらって帰宅。
#2
キメツ23巻
よんだ。いい終わりかたでしたねえ。
#3
ばんめし
#4
Python & openpyxl & pandas
高校の同級生の S くんが FaceBook で
Excel×Python最速仕事術
を紹介してくれていたので、買っておいたのを読んだ。
とりあえず自宅の Windows PC に環境構築をしてみるなど。
@
Python:
- Python.org
から Windows 3.9.0 amd64 のインストーラをダウンロード、
"Add Python 3.9 to PATH" をチェックしてCustomized Installation へ。
- Optional Features はぜんぶチェックされた状態で Next。
- Advanced Options では "Install for all users" 以下の 5 つにチェックを入れ、Customize install location を "C:\Python\Python39" に変更。
- Install。
- Disable path length limit は無視して Close で完了。
@
VScode:
- こちら
から Windows stable build をダウンロード。
- こちらはすべてデフォルトでインストール。
- VScode を起動して左のアイコン群から Extentions をクリック、Search Extensions in Marketplace で "japanese" を検索、一番上に出る "Japanese Language Pack for Visual Studio Code" を Install して Restart Now。
- 同様に Extension から python で検索、Microsoft が開発本の Python をインストール。
- [ファイル]→[ユーザー設定]→[設定] で pylint を検索し、
Python > Linting: Enabled
を確認。
VScode は、左ファイルの「エクスプローラー」アイコンからフォルダを選んで始めるとのこと。これでl VScode のカレントディレクトリが設定されるらしい。
ひとまず E:\nakano\Python\test\prg なるフォルダを掘って指定してみるなどする。
[ファイル]→[新規ファイル] でエディタタブが開き、それを [ファイル]→[名前をつけて保存] で sample.py とかで保存すると python 拡張が適用された模様。pylint はここでインストールを促されたので、進めるように選択。すると PowerShell ターミナルが開いてインストールされたようだ。
その PowerShell ターミナルから
pip install openpyxl
すると openpyxl ライブラリが入った模様。
これも書籍のように
WARNING: You are using pip version 20.2.3; however, version 20.3.1 is available.
You should consider upgrading via the 'c:\python\python39\python.exe -m pip install --upgrade pip' command.
なるワーニングが出たので、そのようにターミナルから入力したら、無事アップグレードされた模様。
@
pandas:
入れてみようとしたが、
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1122)'))': /simple/pandas/
というエラーが 4 回続いて駄目。最初は python のバージョンのせいかと思ったが、そうではないらしい。かなーり色々と見てまわり、試してみたが駄目。
結局 pypi.org から
pytz
,
python-dateutil
,
numpy
,
pandas
の cp39 win_amd64 な whl パッケージをとってきて pip install hogehoge.whl
で入れた。うーんなんだこれ。
そして xps13 の方で同じことをやってみたら pip install pandas であっさり入った…
うーん。
自宅の PC は、春先に
PowerShell 関係をいじったとき
に Tls 関係で試行錯誤したので、変な設定が残っちゃったかしら…
(12/6 追記) 家の Windows PC は
そのあと更新してる
から関係ないな…
コドモと本屋へ。「孔丘」が棚にあったので買う。
#2
python pip 問題
python をアンインストールして C:\Python をクリアして再インストールしたら、デフォルトの状では pip install pandas が動いた。しかし
python.exe -m pip install --upgrade pip
で 20.3.2 にしたら WRONG_VERSION_NUMBER のエラーが出るようになった。
そして
pypi.org
から 20.2.4 の whl をとってきて
python.exe -m pip install --user --force-reinstall pip-20.2.4-py2.py3-none-any.whl
したら Appdata\Roaming\Python\Python39\site-packages\pip に pip.20.2.4 が入って、それだと matplotlib とかが普通に pip install できるようになった。うむむ。
年内フルに動けるのはあと 2 週だろうねえ。収束が見えてきたひとも多いが。
#2
pip 問題
居室の PC では何の問題もなかった…
#3
発注とか依頼とか
VP 大橋さんから電話。XRD ホルダを宅配送付、VO2 sp の MFC プレート。
山本鍍金さんから図面きたので依頼。
八木さん小澤くん。お疲れさまです。
#5
3 年輪講
添削するする。
ムキーとなりつつ書きすすめる。うぐぐ。
#7
Python / VScode メモ
書類書きからの逃避でちょっと触る。初心者丸出しで恥ずかしい…
- VSCodeで引数を与えてデバッグする
- Pythonのsys.argvの使い方を現役エンジニアが解説【初心者向け】
- プログラムを終了!Pythonでexitを使う方法【初心者向け】
- python3:ファイル内の特定文字列を見つけて、その行番号を取得する方法
- Python (pandas)で固定長データを読み込む
- Python Snippets: while, forループのelse
- Python, enumerateの使い方: リストの要素とインデックスを取得
- Pythonでwith構文を使う方法【初心者向け】
- Pythonで文字列のスペース・タブ・改行を取り除くstripメソッドの使い方
- Pythonの正規表現モジュールreの使い方(match、search、subなど)
@
というわけで人生初 python script:
:
12: 0.50E-02
== end of read data ==
TIME(s) POS(cm) VELO(m/s) V(m/s)
0.10E-05 0.0000 0.0000 0.4033 0.00 0.00 4033.40 0.403E+04
0.20E-05 -0.0001 0.0000 0.8067 0.34 -0.04 4033.40 0.403E+04
0.50E-05 0.0303 -0.0195 2.0494 -1942.26 1255.05 1930.35 0.301E+04
0.10E-04 -0.7802 0.4410 3.0092 -602.92 612.02 2142.13 0.231E+04
:
というような固定長データの先頭カラムと末尾カラムのデータを読みこんで
DataFrame に突っこむところまで。
import pandas as pd
import sys, os, re
if len(sys.argv) < 2:
print(f"synopsis: {sys.argv[0]} (filename)")
sys.exit(1)
elif not os.path.exists(sys.argv[1]):
print(f'File {sys.argv[1]} does not exist!')
sys.exit(1)
with open(sys.argv[1]) as fin:
for row, text in enumerate(fin):
text = text.rstrip()
if re.match('^TIME\(s\)', text):
dst_row = row
break
else:
printf('Not Found "TIME(s)" line!')
sys.exit(1)
print(dst_row)
names = ['time', 'speed']
colspecs = [(0,10),(70,80)]
df = pd.read_fwf(sys.argv[1], colspecs=colspecs, names=names, header=dst_row)
print(df.head(100))
こんな感じに。うへー超簡単だわ(いやこの20行少々書くのに 1h かかったんだが)。
#1
N 社 H さん Zoom ミーティング
11:00 から 20 分くらいで。お世話になります。
#2
python
以上、8 日分です。
タイトル一覧
中野武雄 (NAKANO, Takeo) <nakano@st.seikei.ac.jp>
Since 1999-10-07
RSS feed,
更新時刻,
LIRS エントリ,
アクセス制御
(解説)
中野のホームページへ