使用Python将日志文件转换为csv文件

时间:2016-06-19 22:40:31

标签: python csv

我在工作中遇到以下问题 - 我需要一个日志文件,其中的项目排列如下:

A1
B1
C1
A2
B2
C2
.
.
.
An
Bn
Cn

我需要一个完整的csv文件,如下所示:

A1,B1,C1
A2,B2,C2
A3,B3,C3
...
An,Bn,Cn

如何使用python脚本执行此操作?

编辑:实际上,格式是按以下方式写出的 -

Voltage: A1
Current: B1
Power: C1

如何将其转换为 -

Voltage, Current, Power
A1,B1,C1

2 个答案:

答案 0 :(得分:1)

import csv

with open('myfile.log') as file:
    lines = file.read().splitlines()
    lines = [lines[x:x+3] for x in range(0, len(lines), 3)]

    with open('yourcsv.csv', 'w+') as csvfile:
        w = csv.writer(csvfile)
        w.writerows(lines)

请注意,这些点仍然存在,它们将被视为值(因此它们也将被逗号分隔)

答案 1 :(得分:-1)

使用numpy的简单解决方案:

import numpy as np

data = np.genfromtxt("d.csv", dtype=str)
data = np.reshape(data, (3,-1))
np.savetxt('data.csv', data, delimiter=',', fmt="%s")

结果:

A1,B1,C1
A2,B2,C2
An,Bn,Cn

如果您没有使用numpy,请发布您尝试过的一些代码。