インターンシップ中に、サーバーの上級研究員からサーバーのログ データの整理を手伝ってほしいと頼まれ、最後に Python を使用してデータを抽出し、Excel 形式でエクスポートしました。以下は、私の Python 実装のソース コードです。これは、特定のファイル ディレクトリ内のすべてのテキスト ファイルを自動的に走査し、合計データを Excel ファイルにエクスポートすることができ、統計にはより便利です。
// .txt 形式のディレクトリ内のすべてのファイルのトラバーサルと統計を有効にします。別の形式の場合は、以下の .txt を必要な形式の接尾辞に変更するだけで便利です。
//プロセスは、最初にすべてのファイルの内容を抽出して新しいファイルに書き込み、次に新しいファイルからデータを抽出し、最後にデータを Excel ファイルに書き込むことです
from pyExcelerator import * import os currentpath = os.getcwd() testlog = open('test.mak','w') os.mkdir(r'Excel') print "currentpath: ",currentpath for file in os.listdir(currentpath): if os.path.isfile(os.path.join(currentpath,file))==True: if file.find('.txt')>0: //如果是别的格式直接将下面的.txt改为你所需要的格式后缀就可以了 file_ = open(file,'r') content = file_.read() file_.close() testlog.write( content ) print 1 os.popen('log_parse.exe test.mak >> shuju.log') print 2 for _file in os.listdir(currentpath): if os.path.isfile(os.path.join(currentpath,_file))==True: if _file.find('.log')>0: work = Workbook() works = work.add_sheet('Sheet1') print 3 file_object = open(_file) for i in range(0,2): works.col(i).width = 10000 i = 0 for line in file_object: line = line.rstrip('\n') print 4 if not line.split(): i = i + 1 if line.strip(): array = line.split(':') lineleft = array[0] lineright = array[1] works.write(i,0,lineleft) works.write(i,1,lineright) i = i + 1 _file = _file.rstrip('.log') _file = 'Excel\%s.xls' % _file work.save(_file)
//print 1 2 3 4 は私が作成したログです。不要な場合は直接削除してください。 この Python 実装を使用する場合は、上記のコードを test.py ファイルに直接保存するだけです。
さらに、C++ 抽出実行ファイル log_parse.exe が中間で使用され、下に配置されます。使用する場合はtest.pyと同じディレクトリに置くだけです。
利便性が必要な場合は、次のように .bat ファイルを作成してコマンド ラインの形式で記述すると、ワンクリックですべての作業を自動的に完了できます:
echo
python test.py
私自身の実装は約 150M ファイルを実行して結果を得るまでに 1 分半かかりました。これは非常に理想的だと思います。
データを Excel 形式にエクスポートするための上記の Python スクリプトの簡単な方法 (推奨) は、エディターによって共有されるすべての内容です。参考にしていただければ幸いです。また、PHP 中国語 Web サイトをサポートしていただければ幸いです。
データを Excel 形式にエクスポートするための簡単なメソッドを実装するための Python スクリプトの詳細については、PHP 中国語 Web サイトの関連記事に注目してください。