python - 在 python 中读取 .log 文件
问题描述
嗨,我有一个 .log 文件的以下输出
Date/Time: 2019-09-11 13:11:48
Global Freq. Table [Ticks @ 82.3045ps]
-1215 : 56
-1214 : 192
-1213 : 105
-1212 : 375
-1211 : 230
我想知道如何编写一个 python 脚本来首先读取列读取由 : 分隔的值并将它们存储到单独的数组中。如果您能帮我解决这个问题,我将不胜感激。
解决方案
假设您有一个包含以下内容的文件(file.log):
Date/Time: 2019-09-11 13:11:48 Global Freq. Table [Ticks @ 82.3045ps] -1215 : 56 -1214 : 192 -1213 : 105 -1212 : 375 -1211 : 230
Date/Time: 2019-09-11 13:11:48 Global Freq. Table [Ticks @ 82.3045ps] -1215 : 56 -1214 : 192 -1213 : 105 -1212 : 375 -1211 : 230
Date/Time: 2019-09-11 13:11:48 Global Freq. Table [Ticks @ 82.3045ps] -1215 : 56 -1214 : 192 -1213 : 105 -1212 : 375 -1211 : 230
首先打开文件:
file = open('file.log', 'r')
从文件中读取所有行,然后关闭它:
lines = file.read().splitlines()
file.close()
由于各列由:字符明确分隔,因此单独获取每一列很简单:
for line in lines:
if not line:
continue
columns = [col.strip() for col in line.split(':') if col]
# do something
现在,列变量包含您需要的所有列。
推荐阅读
- c# - 为什么这些 while 循环不起作用?还是有其他问题?
- flutter - NoSuchMethodError(NoSuchMethodError:方法'[]'在null上被调用。接收者:null尝试调用:[]('id'))
- ios - 使用领域迁移错误消除 SwiftUI 工作表崩溃
- c++ - 具有整数值的 switch 语句
- powerbi - 如何使新措施适用于以下情况?
- python - Pandas DataFrame 不会根据字符串值删除行
- regex - perl 中的系统命令 (sed)
- python - Pandas to_csv 函数格式减号为“–”
- python - 为什么我的程序让我的机器人关闭电源?
- r - 在 R 中使用 pgmm (plm-package) 时,系统完全是单一错误