\

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に変換することが可能です。適切な方法を選択し、必要に応じてコードを調整してください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です