開発日誌– category –
-
開発日誌
matplotlibでx軸の時刻情報をフォーマットする
久しぶりにmatplotlib使ったら完全に忘れている。ちょっと使わないとすぐに忘れてしまうね。 なのでメモ書き。日付と時刻がyyyy/mm/dd HH:MM:SS形式で入ったファイルを読み込んで、x軸に適切な形で表示する。 環境 python 3.6.5 matplotlib 2.2.2 pandas 0.22.0 pandasはファイルの読み込みで使った。 コード 以下のようなデータtest.csvを読... -
開発日誌
Pythonでユニークでランダムな文字列のリストを作成する
(追記: 2023-01-15)この記事書いた人(過去の私)なんでUUID使わないんだろうと思った。なんか制約があったのだろうか。それとも知らなかっただけ? 重複しない英数字(0-9a-zA-Z)の文字列のリストを作成したい。既に使われている文字列も読み込めるとする。文字列の長さも指定できるとする。pythonで実行する。pythonは3.6。 コード ラン... -
開発日誌
crontabで気をつけていること
たまにcron使おうとすると、注意事項をしょっちゅう忘れてしまうので、自分用にメモ。なんか他にも色々あったような気がするがとりあえず思いついただけを。 実行ユーザーと環境変数 実行ユーザーはcrontabを実行して編集したユーザー。管理者権限がほしい場合は、sudoでcrontabを編集する。 環境変数を以下のようにして調べる。 * * * * * /... -
開発日誌
Pandasでcsv, excelデータの読み込み・書き込み
Pandasでcsvおよびexcelデータについて、読み込みと書き込みをする。 環境はPython 3.6.3、Pandas 0.20.3。 やり方 pythonでcsvの読み書きにはcsvモジュールがあるし、excelファイルの読み込みにはxlrd、書き込みにはxlsxwriterなどがある。が、その後のデータの扱いなども考えると、pandasを使うのがやりやすい(内部的に何を使っているかは... -
開発日誌
pythonでcsvファイルの入出力。エンコードとか改行コードとか考慮しつつ
pythonにおけるcsvファイルの入出力について。csvは単なるテキストファイルであるけれど、文字コードやら改行コードやらクォーテーションの付け方やらを考えると、色々面倒臭い。 バージョンはpython3.6.4。Pandasは使わず標準のcsvライブラリでやる。たいていの場合Pandas使ったほうが楽ではある。 csvファイルの入出力 文字コードがsjisで... -
開発日誌
Pythonでファイル・ディレクトリ操作
pythonでファイルやディレクトリを扱うときに個人的によく使う操作。よく使う割によく忘れて毎回調べてしまっている…。ので、メモ。なおPython 3.6。 以下、osとshutilをインポートしつつ。「11.2. os.path — 共通のパス名操作 — Python 3.6.3 ドキュメント」とか見つつ。 ファイル f = 'hoge/hoge1/hoge2/hogehoge.txt' があるとして。 ファ... -
開発日誌
一括で複数の画像ファイルを余白つけて正方形にする
複数のサイズがまちまちな画像ファイルについて、一括でまとめて正方形にしたい。一辺の長さは縦幅と横幅のうち大きい方を採用し、足りない分は白または透明で塗りつぶす。 imagemagickを使ってシェルスクリプトで実装した。 ソースコード 環境はmacOS 10.13でGNU bash 3.2.57。 まず、余白をつけるのは以下のコマンド。 convert hoge.jpg -b... -
開発日誌
pythonで画像をダウンロードして、URLに応じてディレクトリ分けする
pythonで画像をダウンロードする。画像のURLに応じて、ディレクトリを分ける。たとえば、画像のURLがhttps://example.com/hoge/img/img01.jpg であったとしたら、example.com/hoge/img という階層構造ができるようにディレクトリを作成する。 ソースコード https://example.com/hoge/img/img01.jpg をダウンロードするとしてコードを書く。 ... -
開発日誌
Pandasで行の追加(縦方向の連結)の操作メモ
pythonのデータフレームライブラリPandasで、行の追加(縦方向の連結)の操作メモ。列の追加(横方向の結合)ではなく。一行だけ追加する感じで。 基本はappendとconcat。列名で一致しないところはNaNで埋められる。ついでにインデックスが重複する時はreset_index()。 やること pandasで行を追加する。たとえばdf1に一行だけのdf2を追加する... -
開発日誌
PDFから文章を抽出する
PDFファイルから文章を抽出するあれこれ。画像化されているやつはOCRをかけることになるが、本記事では対象外。Mac環境下で実行。 大きくわけて、コピペする、Adobe Reader DCを使う、pdftotextを使う、pythonのpdfminer.sixを使う、のパターンで。 ビューアで開いてコピペ 言わずもがな。PDFファイルを開いて、ビューアーからコピペする。原...