名前に現在時刻を入れたファイルが連番かどうか判定(前半)
名前に現在時刻を入れたファイルが連番かどうか判定(前半) なにかアクションがあった際に生成されるファイル名に現在時刻が入ったファイルが、連番になっているかどうかを判別して連番になっていたらまとめてリスト化する方法です。手 […]
Filter by Category
名前に現在時刻を入れたファイルが連番かどうか判定(前半) なにかアクションがあった際に生成されるファイル名に現在時刻が入ったファイルが、連番になっているかどうかを判別して連番になっていたらまとめてリスト化する方法です。手 […]
Beautiful Soupでbrタグを改行コードに変換する Beautiful Soupでスクレイピングしたdivタグ内にbrタグがあった際に改行コードに変換する方法です。以下のコードはbrタグが複数ある場合にも対応し […]
フォルダ内のファイルを複数毎にzip形式に圧縮 ファイルをまとめてzip形式に圧縮してしまうと容量が増えてしまうので、メールなどで送るために複数個に分けて圧縮ファイルを作りたいときがあります。ファイル数がそれほど多くない […]
2020年1月1日(水)ぐんま経済新聞に掲載されました 2020年1月1日(水)ぐんま経済新聞の新年特別号 IT特集に弊社代表の石井が掲載されました。
OpenCVで複数の画像から動画ファイルを作る 前回に続き、今回は複数の画像をまとめて動画ファイルに変換する方法です。gifアニメーションを生成するときはPillowを使いましたが、動画を生成するときはOpenCVを使い […]
複数の画像からgifアニメーションを作る 定点撮影などで連番になっている複数の画像をまとめてgifアニメーションに変換する方法です。 コードはGitHubリポジトリにあげています。 コード 結果 解説 import gl […]
SeleniumでChromeが立ち上がらない Pythonでスクレイピングする時にSeleniumでChromeを立ち上げますが、その際に以下のエラーが出てブラウザが起動しない場合があります。その時の解決方法です。 解 […]
Daiwa Innovation Networkに弊社代表の石井が登壇しました 2019年12月19日(木)に大和証券本店で開催された大和証券株式会社主催のピッチイベント「第82回 Daiwa Innovati […]
2019年の冬季休業のお知らせ 誠に勝手ながら、弊社では下記日程を冬季休業とさせていただきます。 冬季休業期間 2019年12月28日(土)~2020年1月5日(日) 期間中にいただきましたお問い合わせにつきましては、冬 […]
群馬イノベーションアワード2019に登壇しました 12/7(日)にヤマダグリーンドーム前橋で開催された群馬イノベーションアワード2019で弊社代表の石井がファイナリストとして登壇しました。
ダウンロードするファイルの文字コードを動的に変更 ウェブアプリケーションの中でCSVやテキストファイルをダウンロードさせた時に文字化けが発生する事があります。使用する文字コードが決まっていれば予め固定してしまう事で文字化 […]
画像のアップロード Google Colaboratoryで画像をアップロードして表示する方法です。画像解析以外にもCSVのアップロードなどの際にも同じ方法でアップロードできます。 画像のインライン表示 今度はアップロー […]
2019年10月18日(金)の上毛新聞に掲載されました
PostgreSQLと通信するページで502 Bad Gateway Djangoで開発したWebアプリでPostgreSQLと通信するページにアクセスした時に、502 Bad Gatewayが発生したので調べた内容と解 […]
第5回 群馬ベンチャーサミットに代表の石井が登壇します 「第5回 群馬ベンチャーサミット」概要 開催日時:2019年9月7日(土) 13:00 ~ 17:30 会場:群馬会館(群馬県前橋市大手町2-1-1) 主催(共同主 […]
2019年8月29日(木)のぐんま経済新聞に掲載されました。
誠に勝手ながら、弊社では下記日程を夏季休業とさせていただきます。 夏季休業期間 2019年8月10日(土)~8月18日(月) 期間中にいただきましたお問い合わせにつきましては、夏季休業期間後の8月19日(火)より順次対応 […]
株式会社ファントムは、経済産業省「情報処理支援機関(スマートSMEサポーター)」に認定されました。 2019年6月28日 認定認定番号:第5号‐19060023
2019年7月19日(金)の桐生タイムスに、弊社代表の石井が掲載されました。
以下の2つの記事の応用編です。 今回のポイントは以下の2つです。 ・気温の処理を関数化・Matplotlibで複数のグラフを出力 コードはGitHubリポジトリにあげています。 コード 出力結果 以下の様な気温と降水確率 […]
なにかアクションがあった際に生成されるファイル名に現在時刻が入ったファイルが、連番になっているかどうかを判別して連番になっていたらまとめてリスト化する方法です。手動では対応しきれない大量のファイルを処理する際のバッチ処理として活用できます。
コードはGitHubリポジトリにあげています。
開発環境
$ python -V
Python 3.7.0
$ tree
.
├── dir.txt
├── requirements.txt
└── sequeuce.py
dir.txt
/Users/username/Desktop/img/*.jpg
ファイルが格納されているディレクトリを指定します。今回は例としてデスクトップのimgフォルダにあるjpg画像を指定しています。実際には環境に合わせたパスを指定してください。(*はワイルドカードで全てのjpgファイルを対象とする)
sequeuce.py
import datetime
import glob
f = open("dir.txt", "r")
files = sorted(glob.glob(f.read()))
split_file_name = ''
file_time_plus_one_seconds = ''
sequence_list = []
for file in files:
split_name = file.split('-')
file_time = datetime.datetime.strptime(split_name[2], '%Y%m%d%H%M%S')
if not sequence_list:
sequence_list.append(file)
elif split_file_name == file_time or file_time_plus_one_seconds == file_time:
sequence_list.append(file)
else:
print(sequence_list)
sequence_list.clear()
sequence_list.append(file)
split_file_name = file_time
file_time_plus_one_seconds = file_time + datetime.timedelta(seconds=1)
import datetime
import glob
モジュールを読み込む
f = open("dir.txt", "r")
テキストファイルを読み込む
files = sorted(glob.glob(f.read()))
テキストファイルに書かれたパスを読み込む
split_file_name = ''
file_time_plus_one_seconds = ''
ファイル名を格納する変数を生成
sequence_list = []
連番ごとにファイルを格納するリストを生成
split_name = file.split('-')
今回はファイル名がXXX-XXX-000000000000-11.jpgの形式のため-で区切る
file_time = datetime.datetime.strptime(split_name[2], '%Y%m%d%H%M%S')
ファイル名の000000000000の部分は生成された現在時刻となっているので、-で区切り2つ目の現在時刻を文字列からdatetimeに変換してfile_timeに格納'%Y%m%d%H%M%S'
の形式を指定
elif split_file_name == file_time or file_time_plus_one_seconds == file_time:
ファイル名の11の部分はフレーム数となっているので、フレーム数だけが違う同じ時刻のファイル名が複数枚存在する場合があります。そのため同じ時刻もしくは1秒後の時刻かどうかを判定
sequence_list.clear()
リストを空にします
file_time_plus_one_seconds = file_time + datetime.timedelta(seconds=1)
ファイル名が連番かどうかを判定するために1秒足した時刻をfile_time_plus_one_secondsに格納
群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。
メーリングリストに登録するとファントムの最新情報をお届けします
お客様のメールアドレスを共有することはありません
Comments