解析文本文件并基于该文件生成新的.csv文件

2024-04-19 22:49:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想分析一个机器日志文件,重新整理数据,并将其写入一个.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)
我哪里出错了?
谢谢


Tags: 文件数据代码innumberfortimeline
1条回答
网友
1楼 · 发布于 2024-04-19 22:49:48

像这样做。将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

相关问题 更多 >