解析文本文件并根据该数据生成新的.csv文件

时间:2016-05-16 07:25:41

标签: python parsing csv

我想解析一个机器日志文件,重新安排数据并将其写入.csv文件,我将导入谷歌电子表格。或者将数据直接写入电子表格 以下是日志的示例:

39 14 15 5 2016 39 14 15 5 2016 0  
39 14 15 5 2016 40 14 15 5 2016 0.609  
43 14 15 5 2016 44 14 15 5 2016 2.182

输出应如下所示:

start_date,start_time,end_time,meters
15/5/16,14:39,14:39,0  
15/5/16,14:39,14:40,0.609  
15/5/16,14:43,14:44,2.182
我编写了以下python代码:

file = open("c:\SteelUsage.bsu")
for line in file.readlines():
            print(line) #just for verification
            line=line.strip()   
            position=[]
            numbers=line.split()
            for number in numbers:
                     position.append(number)
                     print(number)#just for verification

这个想法是将每行中的每个数字保存到一个列表中,然后我可以根据它们的位置以正确的顺序重写这些数字。
例如:在第1行中,字符串“39”将具有位置0,“14”pstion 1等。

但似乎我编写的代码将每个数字存储为新列表,因为当我将print(number)更改为print(number[0])时,代码会打印每个数字的第一个数字,而不是打印第一个数字。 (39)
我哪里出错?
谢谢

1 个答案:

答案 0 :(得分:0)

做这样的事情。将out写入csv文件。

with open('c:\SteelUsage.bsu','r') as reader:
    lines = reader.readlines()
    for line in lines:
        inp = [i for i in line.strip().split()]
        out = '%s/%s/%s,%s:%s,%s:%s,%s' % (inp[2],inp[3],inp[4],inp[1],inp[0],inp[6],inp[5],inp[10])
        print out