厚生労働省ブラック企業リスト4月版(2018年)
スポンサーリンク
遅くなりましたが、4月版。今年の5月で厚生労働省が企業名を掲載し始めてから丸一年ということになります。
このブログで追いかけているのは8月からですが。
データの入手元
ファイルは労働基準関係法令違反に係る公表事案というリンクから。ただし、毎月同じファイル名で更新される点に注意。
機械可読データ(タブ区切りテキスト形式)
PDFからTSVへの変換スクリプト
Convert PDF to TSV ( for Japan's MHLW illegal company list ) rev. 2
使い方。
$ python3 convert-pdf2tsv.py 170510-01.pdf > output.tsv
簡単な分析
今月の特筆すべき点は、香川労働局の公表分がゼロ件という点。ただし、他府県の労働局から公表されている事業所に香川県の事業所は含まれている。
香川労働局がサボっているのか、年度末だからか、理由は不明。香川件にブラック企業がないということではない。
前月との比較
先月の件数が450件で今月は470件。差分は20件。
大きく増えたのはトータル件数でみると兵庫労働局で+6。大阪労働局と島根労働局が+4続く。大きく減少しているのは福岡労働局で-7件。
新しく掲載された件数)で見るとトップは大阪で+13件。掲載終了した件数でみると福岡労働局で12件。
基本的に公表(掲載)されてから1年で削除ということなので、掲載終了については妥当。
労働局名 | 当月公表件数 | 前月公表件数 | 新規掲載 | 掲載終了 | 差分 |
---|---|---|---|---|---|
北海道労働局 | 25 | 30 | 2 | 7 | -5 |
青森労働局 | 8 | 9 | 1 | 2 | -1 |
岩手労働局 | 11 | 8 | 3 | 0 | +3 |
宮城労働局 | 5 | 4 | 2 | 1 | +1 |
秋田労働局 | 4 | 3 | 3 | 2 | +1 |
山形労働局 | 4 | 2 | 2 | 0 | +2 |
福島労働局 | 10 | 10 | 2 | 2 | +/-0 |
茨城労働局 | 5 | 3 | 2 | 0 | +2 |
栃木労働局 | 8 | 8 | 1 | 1 | +/-0 |
群馬労働局 | 4 | 1 | 4 | 1 | +3 |
埼玉労働局 | 11 | 12 | 2 | 3 | -1 |
千葉労働局 | 10 | 9 | 4 | 3 | +1 |
東京労働局 | 21 | 24 | 0 | 3 | -3 |
神奈川労働局 | 9 | 12 | 2 | 5 | -3 |
新潟労働局 | 15 | 14 | 2 | 1 | +1 |
富山労働局 | 5 | 6 | 0 | 1 | -1 |
石川労働局 | 6 | 5 | 1 | 0 | +1 |
福井労働局 | 5 | 1 | 4 | 0 | +4 |
山梨労働局 | 11 | 8 | 3 | 0 | +3 |
長野労働局 | 15 | 13 | 3 | 1 | +2 |
岐阜労働局 | 14 | 12 | 3 | 1 | +2 |
静岡労働局 | 10 | 11 | 4 | 5 | -1 |
愛知労働局 | 31 | 31 | 9 | 9 | +/-0 |
三重労働局 | 10 | 7 | 3 | 0 | +3 |
滋賀労働局 | 7 | 4 | 3 | 0 | +3 |
京都労働局 | 8 | 10 | 1 | 3 | -2 |
大阪労働局 | 33 | 29 | 13 | 9 | +4 |
兵庫労働局 | 18 | 12 | 11 | 5 | +6 |
奈良労働局 | 5 | 4 | 1 | 0 | +1 |
和歌山労働局 | 9 | 6 | 4 | 1 | +3 |
鳥取労働局 | 2 | 2 | 0 | 0 | +/-0 |
島根労働局 | 8 | 4 | 5 | 1 | +4 |
岡山労働局 | 7 | 8 | 0 | 1 | -1 |
広島労働局 | 16 | 14 | 6 | 4 | +2 |
山口労働局 | 4 | 3 | 2 | 1 | +1 |
徳島労働局 | 5 | 6 | 0 | 1 | -1 |
香川労働局 | 0 | 1 | 0 | 1 | -1 |
愛媛労働局 | 13 | 13 | 1 | 1 | +/-0 |
高知労働局 | 8 | 8 | 1 | 1 | +/-0 |
福岡労働局 | 14 | 21 | 5 | 12 | -7 |
佐賀労働局 | 6 | 7 | 0 | 1 | -1 |
長崎労働局 | 5 | 11 | 1 | 7 | -6 |
熊本労働局 | 13 | 11 | 3 | 1 | +2 |
大分労働局 | 11 | 8 | 3 | 0 | +3 |
宮崎労働局 | 2 | 6 | 0 | 4 | -4 |
鹿児島労働局 | 8 | 8 | 1 | 1 | +/-0 |
沖縄労働局 | 11 | 11 | 3 | 3 | +/-0 |
集計用スクリプト
Pythonのデータ構造として集合(Set)を使って集合演算しているだけですが集計スクリプト。
集計結果を標準出力に表示するもの(Markdown用のテーブル形式)。いつもどおりのやっつけ仕事。
なお、動作には一行ごとに労働局名を記載したリストが必要です。
#! /usr/bin/env python3 # encoding: utf-8 import csv import pathlib import sys def analyze_current_and_prev(last_filename, prev_filename): last_file_path = pathlib.Path(last_filename) prev_file_path = pathlib.Path(prev_filename) current_data = [] prev_data = [] with last_file_path.open(mode='rt') as cfp: reader = csv.reader(cfp, delimiter="\t") for row in reader: current_data.append(row) with prev_file_path.open(mode='rt') as pfp: reader = csv.reader(pfp, delimiter="\t") for row in reader: prev_data.append(row) diff_count = len(current_data) - len(prev_data) print("current: {0}, prev: {1}, diff: {2}".format(len(current_data),len(prev_data),diff_count),file=sys.stderr) return {'last': current_data, 'previous': prev_data} if __name__ == "__main__" : all_data = analyze_current_and_prev('data/result/no_quote_2018_0420.tsv', 'data/result/no_quote_2018_0315.tsv') last_month = all_data['last'] month_before_last = all_data['previous'] by_laborer_bureau_last = {} by_laborer_bureau_b4_last = {} # month before(b4) last # 労働局名のリストを読み込む laborer_bureau_list = [] with pathlib.Path('utils/roudoukyoku.txt').open(mode='rt') as fp : temp = fp.readlines() laborer_bureau_list = [ b.rstrip() for b in temp] for name in laborer_bureau_list: by_laborer_bureau_last[name] = list(filter(lambda x: x[0] == name, last_month)) for name in laborer_bureau_list: by_laborer_bureau_b4_last[name] = list(filter(lambda x: x[0] == name, month_before_last)) # 労働局単位で集計して出力 print("| 労働局名| 当月公表件数 | 前月公表件数 | 新規掲載 | 掲載終了 | 差分 |") print("| :------ | :--------: | :--------:| :---: |:---: |:---: |") for name in laborer_bureau_list: total_by_pref_last = len(by_laborer_bureau_last[name]) total_by_pref_b4_last = len(by_laborer_bureau_b4_last[name]) total_diff = total_by_pref_last - total_by_pref_b4_last preffix_mark = '' if total_diff > 0 : preffix_mark = '+' elif total_diff < 0: preffix_mark = '' else: preffix_mark = '+/-' diff_st = preffix_mark + str(total_diff) last_data_set = set() before_data_set = set() for entry in by_laborer_bureau_last[name]: last_data_set.add(entry[2]) for entry in by_laborer_bureau_b4_last[name]: before_data_set.add(entry[2]) incremental = last_data_set - before_data_set difference = before_data_set - last_data_set #print("新規追加", incremental) #print("非掲載", difference) print("| {0} | {1} | {2} | {3} | {4} | {5} | ".format( name,total_by_pref_last,total_by_pref_b4_last,len(incremental), len(difference), diff_st ) )
大したことはしていませんが、載せておきます。
まとめ
先月よりは分析が進歩したよねってことでこの辺で。
掲載されているのは氷山の一角で、日本社会全体がブラック化している感じはありますけどね。
もうちょっとしっかり分析するなら過去分も含めてDBにいれてSQLでやるか、Pythonで頑張るならpandas。
昨年の5月から7月分もTSV形式化して1年分分析するのもありかな、という感じです。
- 作者: 株式会社ビープラウド
- 出版社/メーカー: 秀和システム
- 発売日: 2015/05/21
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: 原論
- 出版社/メーカー: 日本経済新聞出版社
- 発売日: 2017/03/09
- メディア: 新書
- この商品を含むブログ (2件) を見る
- 作者: 森井博子
- 出版社/メーカー: 宝島社
- 発売日: 2017/06/09
- メディア: 新書
- この商品を含むブログ (1件) を見る