PythonでログファイルをCSVに変換する方法はいくつかありますが、ここでは2つの主要な方法を紹介します。
pandasとopenpyxlを使用する方法
pandasとopenpyxlを使用してログファイルをCSVに変換することができます。以下にそのコードの例を示します。
import pandas as pd
import openpyxl
log_list = [
'12:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty',
'12:10:01 AM 9913200 6352688 39.06 575700 5111548 5230536 21.22 860532 4858452 32',
'12:20:01 AM 9912084 6353804 39.06 575736 5111588 5230272 21.21 860552 4858432 12',
]
heading = log_list[0]
logdata = log_list[1:]
headings = heading.split()
headings[0] = 'time'
headings[1] = 'meridian'
def export_csv():
data_list = [headings,]
for log_line in logdata:
log = log_line.split()
data_list.append(log)
df = pd.DataFrame(data_list)
df.to_csv('log.csv', header=False, index=False)
export_csv()
このコードは、ログファイルの各行を分割し、それらをCSVファイルに書き出します。
str.splitを使用する方法
str.splitを使用してログファイルをCSVに変換することも可能です。以下にそのコードの例を示します。
import pandas as pd
data_list = [
'12:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty\\n',
'12:10:01 AM 9913200 6352688 39.06 575700 5111548 5230536 21.22 860532 4858452 32\\n',
'12:20:01 AM 9912084 6353804 39.06 575736 5111588 5230272 21.21 860552 4858432 12\\n',
]
df = pd.DataFrame(data_list)
df = df[0].str.split(expand=True)
df.to_csv("sample.csv", header=False, index=False)
このコードは、ログファイルの各行を分割し、それらを直接DataFrameに変換します。その後、DataFrameをCSVファイルに書き出します。
これらの方法を使用すれば、PythonでログファイルをCSVに変換することが可能です。適切な方法を選択し、必要に応じてコードを調整してください。