LoginSignup
1
1

More than 5 years have passed since last update.

個人メモ なんかのチェック処理(Excel 手作業からの脱却)

Last updated at Posted at 2018-02-18

いろいろチェック処理が必要となる場面があるのですが
Excelを使っている場合が多々あります。(ようは手作業が入る)

自動化に向けてPythonでざくっと書きなおしてみます。

やること

リリースコードの文字コード、改行コードが拡張子に応じて適切ですかね?

以下の処理はOSコマンドのみ、Shell化でOKなので詳細は省略。

1.リリース対象物定義
2.SVNで取得(URL,リビジョン指定)
3.nkf --guessで文字コード、改行コードを取得
4.ちょっと整形(CSV形式に)

ここからPythonで

import pandas as pd

# 正解組み合わせを読み込む
df1_columns=['ext','True_kaigyocode','True_mojicode']
df1 = pd.read_csv('/home/satoshi/popko/Def.txt',
                 dtype='object',
                 encoding='utf_8',
                 names=df1_columns,
                 skipinitialspace=True)

# リリース対象結果リストを読み込む
df2_columns=['filename','ext','kaigyocode','mojicode']
df2 = pd.read_csv('/home/satoshi/popko/data.txt',
                 dtype='object',
                 encoding='utf_8',
                 names=df2_columns,
                 skipinitialspace=True)

正解ファイル
image.png

リリース対象結果リスト
image.png

正解リストとリリース対象結果リストをマージします。

改行コードと文字コード、一致しているか判定。

x = pd.merge(df2,df1,on='ext',how='outer')
(x['kaigyocode'] == x['True_kaigyocode']) & (x['mojicode'] == x['True_mojicode'])

0     True
1    False
2    False
3     True
4     True
5    False
6     True
7     True
8     True
9    False
dtype: bool

チェックOK明細を確認

x[(x['kaigyocode'] == x['True_kaigyocode']) & (x['mojicode'] == x['True_mojicode'])]

uploading-0
image.png

チェックNG明細を確認

x[~((x['kaigyocode'] == x['True_kaigyocode']) & (x['mojicode'] == x['True_mojicode']))]

image.png

よさそうですね。

リリース対象結果リストに結果判別をつけます

x['judge'] = ((x['kaigyocode'] == x['True_kaigyocode']) & (x['mojicode'] == x['True_mojicode']))
x[['filename','ext','kaigyocode','mojicode','judge']]

image.png

完成です。簡単に出来て、、、手作業から脱却できる。便利!!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1