Articles in the python3 tag

  1. pycgettbというpythonパッケージを作りました

    年末前に今年ちょっとした目標だったちょっとしたツールをPyPIに登録しました。PyPIデビューっていい響きですw

    pycgettb 0.1.2 : Python Package Index

    hrsano645/pycgettb

    このパッケージ、と言いますか同梱のコマンド(pysgettbcli)のほうが主役です。このコマンドの機能を一言で言うと帳票チックなExcelファイルからデータを吸い出してテキストデータにしてくれます。

    吸い出す元のExcelファイルと同じ形で抜き出したい場所に対して特別なフォーマットの文字列を埋め込み、その文字列と同じ名前を変数名としてjinja2テンプレートを作る事で、テキストファイルにしてくれます。

    言葉で説明するのがまだ腑に落ちないのもあって、具体的な使い方については英語のREADMEか日本語で書いたREADMEを見ていただければと思います。 ただ英語のREDAMEは翻訳サービスベースなのでちゃんとしたものになってないでとりあえず日本語のREADMEを見ていただければと。英語苦手なままです。。

    pycgettb/README.ja.rst at master · hrsano645/pycgettb

    なぜ作ったか?

    このパッケージには元となるその場しのぎレベルのスクリプトがありますが、本業でよく使うシチュエーションがあったので作りました。

    本業(家業)は自動車プレス金型設計事務所にいますが、プレス金型では圧力に関する計算を良くします。そのときに手計算は面倒なのもあってExcelで計算をして結果が見れるようにしています。

    その計算結果を今までは主に2次元の図面上に「手入力」してもらっていたのですが、流石に見るに堪えない思いもありどうにかしたいと考えていました。

    Excelで入力したセルのデータを吸い出してどうにかしようとした時の選択肢は、Excel VBAで計算した結果を別のファイルに出力したり、何かしらの方法で渡す手段を用意するのが普通ですかね? ファイル出力は実装したこともありますが、言わずもがな言語仕様も扱いづらい事もあって面倒です。

    他にはPythonなどの別の環境からExcelのファイルを読み込んでパーサー処理をするがあります …

  2. Python3.6のfリテラル文字列(f-string)が便利なのと怖い面について

    久々にpythonネタで、今年の2月に気がついてほったらかしにしてた話。

    fリテラル/フォーマット済み文字列リテラル/f-stringとは

    PEP-484で定義, 承認されてpython3.6に入った新しいリテラル表記です。簡単な例はこちら

    >>> name = "f-string"
    >>> f"{test} death!"
    'f-string death!’
    

    中身はstr.formatをそのまま使えるっぽいですが、変数名を直接かいて呼び出せるのが新しいです。

    使い方は公式ドキュメントを見たほうが早いです。

    2. 字句解析 — Python 3.6.3 ドキュメント

    辞書はどうする?

    良く辞書を展開する時があるのでfリテラルでも使えるのか試してみました。
    公式ドキュメントを見たところ、ダブルクオーテーションの中でシングルクォーテーションを使えば展開できます。

    >>> td1 = {"name":"suzuki", "age":"32"}
    
    >>> f"{td1['name']}. age:{td1['age']}"
    'suzuki. age:32’
    

    が、いちいちクオーテーションを二種類使うとかっこ悪いですね。。。辞書の場合はstr.formatを使ったほうが楽かも。引数の展開が使えるので …

About Me

実家の自動車プレス金型設計業(sano-design.info)に所属。
また東海大学石井研究室(ishiilab.net)でたまにお手伝いしてます。
サイト制作/python/Ubuntu 作ったり扱います。 小さいガジェットがとっても好き。
最近は諸事情で家事業が多めです。

スポンサードリンク