Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

いろいろチェック処理が必要となる場面があるのですが
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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away