我有一个文本格式的日志文件,现在我想把它转换成Json。 我已经完成了一半的代码,但在加入其余的拆分行时遇到了一些问题。 所以,我已经拆分了前4行,但是我希望从“rotary”开始,直到字符串的末尾是第五行。我该怎么做
我的代码:
with open('mazda', 'r', encoding='utf-8') as file:
for content in file:
con = str(content)
con = con.split(' ')
'''
0 = date
1 = time and code (must split this)
2 = EMPTYY
'''
#
conDate= con[0]
con2 = con[1:]
#time
tmp_str1 = con[1]
tmp_str1 = tmp_str1[:8]
conTime = tmp_str1
#code
tmp_str2 = con[1]
tmp_str2 = tmp_str2[9:]
conCode = tmp_str2
conStatus = con[3]
# 데이터 가공
file_data["Date"] = conDate
file_data["Time"] = conTime
file_data["Code"] = conDate
file_data["Status"] = conStatus
# output to JSON
tmp = json.dumps(file_data, ensure_ascii=False, indent="\t")
print(tmp)
result = ""
result += (tmp + "," + "\t")
# print(json.dumps(file_data, ensure_ascii=False, indent="\t"))
print("result: ")
print(result)
您可以重新加入行的第三个元素以空格分隔后的所有内容。 我还建议您使用“;”来分割时间和代码,而不是通过索引来获取它们
据我所知,您的日志文件有一个模式。您预定的第4列和第5列之间有一个空格。所以你能做的就是当你有最后一个字符串时 “同步旋转…Busysni” 你可以根据空间来分割它。第一个字符串始终是第四列,其余的是第五列,可以用空格连接
你的主要问题是你的课文中有不同类型的空格。 使用不带任何参数的拆分将基于任何类型的空格拆分文本
但是,由于第5列也有空格,您希望限制前三个元素的拆分:
最终结果:
相关问题 更多 >
编程相关推荐