stmtkブログ

Python中心の技術ブログです。

【Python】サクラエディタのGrep結果をExcel用に整形する

機能

サクラエディタGrep結果をExcel用に整形するPythonプログラムです。

例えば、以下のテキストをプログラムで実行すると、項目がタブ区切りに変換されます。

C:\Work\Python\String\prefix_adder\prefix_adder.py(14,8)  [UTF-8]: import pyperclip
C:\Work\Python\String\prefix_adder\prefix_adder.py(26,9)  [UTF-8]: input = pyperclip.paste()
C:\Work\Python\String\prefix_adder\prefix_adder.py(28,1)  [UTF-8]: pyperclip.copy(output)
C:\Work\Python\String\prefix_adder\prefix_adder.py   14  8   UTF-8   import pyperclip
C:\Work\Python\String\prefix_adder\prefix_adder.py  26  9   UTF-8   input = pyperclip.paste()
C:\Work\Python\String\prefix_adder\prefix_adder.py  28  1   UTF-8   pyperclip.copy(output)

実行結果をExcelに貼り付ければ、項目ごとにセルへ貼り付けることができます。

サンプル動画

youtu.be

プログラム

#! Python3
# 機能
#  サクラエディタのGrep結果をExcel用に整形する
# 使い方
#  1.テキストをコピーする
#  2.Pythonを実行する
#  3.実行結果がコピーされる
# 実行コマンド
#  python grep_result_formatter.py

import re
import pyperclip

# テキストを取得する
text = pyperclip.paste()

# Grep結果をタブ区切りに変換する
regex = re.compile(r"(^.*?)\((.*),(.*)\)\s+\[(.*)\]:(\s+)", re.MULTILINE)
output = regex.sub(r"\1\t\2\t\3\t\4\t", text)

# テキストをコピーする
pyperclip.copy(output)

使い方

  1. テキストをコピーする
  2. Pythonを実行する
  3. 実行結果がコピーされる

コマンド

インストールコマンド

pyperclipをインストールしていない場合は以下のコマンドを実行して下さい。

pip install pyperclip

実行コマンド

python grep_result_formatter.py

実行環境

プログラム実行時の環境は以下になります。

開発環境については以下を参考にして下さい。

stmtk358.hatenablog.com

プログラムのバッチ化については以下を参考にして下さい。

stmtk358.hatenablog.com

exeファイル

Python環境がなくても実行可能なexeファイルもあります。

とりあえず試してみたい方は以下からダウンロードして下さい。

github.com

実行方法

exeファイルを実行(ダブルクリック)するだけです。

コマンドラインから実行する場合は以下のコマンドを実行して下さい。

grep_result_formatter.exe

GitHub

今回使用したプログラムやテストデータはGitHubにアップロードしています。

github.com

参考文献

kiyoshiroom.blog.fc2.com