3

这是我的 .log 文件的内容

当前日期和时间、翻译、经过时间、响应时间、翻译速率、

7 月 18 日星期三 10:03:1, 5, 0.37 sec, 0.00 sec, 13.51 t/s,

7 月 18 日星期三 10:03:5, 5, 0.45 sec, 0.00 sec, 11.11 t/s,

7 月 18 日星期三 10:04:0, 5, 0.91 sec, 0.00 sec, 5.49 t/s,

7 月 18 日星期三 10:22:4, 12, 0.79 sec, 0.00 sec, 15.19 t/s,

7 月 18 日星期三 10:23:0, 12, 0.56 sec, 0.00 sec, 21.43 t/s,

7 月 18 日星期三 10:23:1, 12, 0.53 sec, 0.00 sec, 22.64 t/s,

我想将这些值直接放入 python 中的二维列表中,但我找到的每个解决方案都只是为每一行创建一个列表项。我希望列表槽的值是一个逗号分隔值。EG 列表中的第 3 行第 2 列将存储 5。这可能很简单,但我一直在搜索和搜索,但没有发现以这种方式执行此操作。非常感谢任何帮助。干杯。

更新:

Traceback(最近一次调用最后一次):文件“StressTestCompare.py”,第 45 行,打印数据 [2][0]
IndexError:列表索引超出范围

[['当前日期和时间', '\tTrans', '\tElapsed Time', '\tResponse Time', '\tTrans Rate', '\tThroughput', '\tConc', '\tOKAY', '\tFailed ', '\t数据传输', '\tIP地址', ''], ['Wed Jul 18 10:03:1', '\t5', '\t0.37 sec', '\t0.00 sec' , '\t13.51 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t0', '\t0 字节', '\t10.2.2. 55:8080'], [], ['Wed Jul 18 10:03:5', '\t5', '\t0.45 sec', '\t0.00 sec', '\t11.11 t/s ', '\t0.00 b/s', '\t0.00', '\t0', '\t5', '\t0 字节', '\t10.2.2.56:8080'], [], ['Wed Jul 18 10:04:0', '\t5', '\t0.91 sec', '\t0.00 sec', '\t5.49 t/s'、'\t1609.89 b/s'、'\t0.00'、'\t5'、'\t0'、'\t1465 字节'、'\t10.2.2.57:8080'] , [], ['Wed Jul 18 10:22:4', '\t12', '\t0.79 sec', '\t0.00 sec', '\t15.19 t/s', '\t0 .00 b/s', '\t0.00', '\t0', '\t0', '\t0 bytes', '\t10.2.2.55:8080'], [], ['Wed Jul 18 10:23:0', '\t12', '\t0.56 sec', '\t0.00 sec', '\t21.43 t/s', '\t0.00 b/s', '\ t0.00', '\t0', '\t12', '\t0 bytes', '\t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\ t12', '\t0.53 sec', '\t0.00 sec', '\t22.64 t/s', '\t0.00 b/s', '\t0.00', '\t0' , '\t0', '\t0 字节', '\t10.2.2.57:8080'], []]'\t1609.89 b/s', '\t0.00', '\t5', '\t0', '\t1465 字节', '\t10.2.2.57:8080'], [], [' 7 月 18 日星期三 10:22:4', '\t12', '\t0.79 sec', '\t0.00 sec', '\t15.19 t/s', '\t0.00 b/s' , '\t0.00', '\t0', '\t0', '\t0 bytes', '\t10.2.2.55:8080'], [], ['Wed Jul 18 10:23:0' , '\t12', '\t0.56 sec', '\t0.00 sec', '\t21.43 t/s', '\t0.00 b/s', '\t0.00', ' \t0', '\t12', '\t0 bytes', '\t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\t12', '\t0 .53 秒','\t0.00 秒','\t22.64 t/s','\t0.00 b/s','\t0.00','\t0','\t0', '\t0 字节', '\t10.2.2.57:8080'], []]'\t1609.89 b/s', '\t0.00', '\t5', '\t0', '\t1465 字节', '\t10.2.2.57:8080'], [], [' 7 月 18 日星期三 10:22:4', '\t12', '\t0.79 sec', '\t0.00 sec', '\t15.19 t/s', '\t0.00 b/s' , '\t0.00', '\t0', '\t0', '\t0 bytes', '\t10.2.2.55:8080'], [], ['Wed Jul 18 10:23:0' , '\t12', '\t0.56 sec', '\t0.00 sec', '\t21.43 t/s', '\t0.00 b/s', '\t0.00', ' \t0', '\t12', '\t0 bytes', '\t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\t12', '\t0 .53 秒','\t0.00 秒','\t22.64 t/s','\t0.00 b/s','\t0.00','\t0','\t0', '\t0 字节', '\t10.2.2.57:8080'], []]89 b/s', '\t0.00', '\t5', '\t0', '\t1465 bytes', '\t10.2.2.57:8080'], [], ['Wed Jul 18 10 :22:4', '\t12', '\t0.79 sec', '\t0.00 sec', '\t15.19 t/s', '\t0.00 b/s', '\t0 .00', '\t0', '\t0', '\t0 bytes', '\t10.2.2.55:8080'], [], ['Wed Jul 18 10:23:0', '\t12 ', '\t0.56 秒', '\t0.00 秒', '\t21.43 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t12', '\t0 bytes', '\t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\t12', '\t0.53 sec' , '\t0.00 sec', '\t22.64 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t0', '\t0 字节', '\t10.2.2.57:8080'], []]89 b/s', '\t0.00', '\t5', '\t0', '\t1465 bytes', '\t10.2.2.57:8080'], [], ['Wed Jul 18 10 :22:4', '\t12', '\t0.79 sec', '\t0.00 sec', '\t15.19 t/s', '\t0.00 b/s', '\t0 .00', '\t0', '\t0', '\t0 bytes', '\t10.2.2.55:8080'], [], ['Wed Jul 18 10:23:0', '\t12 ', '\t0.56 秒', '\t0.00 秒', '\t21.43 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t12', '\t0 bytes', '\t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\t12', '\t0.53 sec' , '\t0.00 sec', '\t22.64 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t0', '\t0 字节', '\t10.2.2.57:8080'], []]'\t5', '\t0', '\t1465 bytes', '\t10.2.2.57:8080'], [], ['Wed Jul 18 10:22:4', '\t12', '\ t0.79 秒','\t0.00 秒','\t15.19 t/s','\t0.00 b/s','\t0.00','\t0','\t0' , '\t0 bytes', '\t10.2.2.55:8080'], [], ['Wed Jul 18 10:23:0', '\t12', '\t0.56 sec', '\t0 .00 秒'、'\t21.43 t/s'、'\t0.00 b/s'、'\t0.00'、'\t0'、'\t12'、'\t0 字节'、'\ t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\t12', '\t0.53 sec', '\t0.00 sec', '\t22. 64 t/s'、'\t0.00 b/s'、'\t0.00'、'\t0'、'\t0'、'\t0 字节'、'\t10.2.2.57:8080'] , []]'\t5', '\t0', '\t1465 bytes', '\t10.2.2.57:8080'], [], ['Wed Jul 18 10:22:4', '\t12', '\ t0.79 秒','\t0.00 秒','\t15.19 t/s','\t0.00 b/s','\t0.00','\t0','\t0' , '\t0 bytes', '\t10.2.2.55:8080'], [], ['Wed Jul 18 10:23:0', '\t12', '\t0.56 sec', '\t0 .00 秒'、'\t21.43 t/s'、'\t0.00 b/s'、'\t0.00'、'\t0'、'\t12'、'\t0 字节'、'\ t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\t12', '\t0.53 sec', '\t0.00 sec', '\t22. 64 t/s'、'\t0.00 b/s'、'\t0.00'、'\t0'、'\t0'、'\t0 字节'、'\t10.2.2.57:8080'] , []]'\t10.2.2.57:8080'], [], ['Wed Jul 18 10:22:4', '\t12', '\t0.79 sec', '\t0.00 sec', '\ t15.19 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t0', '\t0 字节', '\t10.2.2.55:8080 '], [], ['Wed Jul 18 10:23:0', '\t12', '\t0.56 sec', '\t0.00 sec', '\t21.43 t/s', ' \t0.00 b/s', '\t0.00', '\t0', '\t12', '\t0 bytes', '\t10.2.2.56:8080'], [], ['Wed 7 月 18 日 10:23:1', '\t12', '\t0.53 sec', '\t0.00 sec', '\t22.64 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t0', '\t0 字节', '\t10.2.2.57:8080'], []]'\t10.2.2.57:8080'], [], ['Wed Jul 18 10:22:4', '\t12', '\t0.79 sec', '\t0.00 sec', '\ t15.19 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t0', '\t0 字节', '\t10.2.2.55:8080 '], [], ['Wed Jul 18 10:23:0', '\t12', '\t0.56 sec', '\t0.00 sec', '\t21.43 t/s', ' \t0.00 b/s', '\t0.00', '\t0', '\t12', '\t0 bytes', '\t10.2.2.56:8080'], [], ['Wed 7 月 18 日 10:23:1', '\t12', '\t0.53 sec', '\t0.00 sec', '\t22.64 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t0', '\t0 字节', '\t10.2.2.57:8080'], []]00 秒'、'\t15.19 t/s'、'\t0.00 b/s'、'\t0.00'、'\t0'、'\t0'、'\t0 字节'、'\t10 .2.2.55:8080'], [], ['Wed Jul 18 10:23:0', '\t12', '\t0.56 sec', '\t0.00 sec', '\t21.43 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t12', '\t0 字节', '\t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\t12', '\t0.53 sec', '\t0.00 sec', '\t22.64 t/s', '\t0. 00 b/s'、'\t0.00'、'\t0'、'\t0'、'\t0 字节'、'\t10.2.2.57:8080']、[]]00 秒'、'\t15.19 t/s'、'\t0.00 b/s'、'\t0.00'、'\t0'、'\t0'、'\t0 字节'、'\t10 .2.2.55:8080'], [], ['Wed Jul 18 10:23:0', '\t12', '\t0.56 sec', '\t0.00 sec', '\t21.43 t/s', '\t0.00 b/s', '\t0.00', '\t0', '\t12', '\t0 字节', '\t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\t12', '\t0.53 sec', '\t0.00 sec', '\t22.64 t/s', '\t0. 00 b/s'、'\t0.00'、'\t0'、'\t0'、'\t0 字节'、'\t10.2.2.57:8080']、[]]'\t0.00 秒'、'\t21.43 t/s'、'\t0.00 b/s'、'\t0.00'、'\t0'、'\t12'、'\t0 字节' , '\t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\t12', '\t0.53 sec', '\t0.00 sec', ' \t22.64 t/s'、'\t0.00 b/s'、'\t0.00'、'\t0'、'\t0'、'\t0 字节'、'\t10.2.2.57: 8080'], []]'\t0.00 秒'、'\t21.43 t/s'、'\t0.00 b/s'、'\t0.00'、'\t0'、'\t12'、'\t0 字节' , '\t10.2.2.56:8080'], [], ['Wed Jul 18 10:23:1', '\t12', '\t0.53 sec', '\t0.00 sec', ' \t22.64 t/s'、'\t0.00 b/s'、'\t0.00'、'\t0'、'\t0'、'\t0 字节'、'\t10.2.2.57: 8080'], []]

使用 print repr(data) 出来是这样的,有没有可能得到更容易阅读的格式?即使从我所看到的情况来看,它看起来仍然存在,所以我不知道为什么我会收到超出范围的错误。

4

2 回答 2

6

csv模块为此派上用场:

import csv

with open('data.txt', 'rb') as inf:
     data = list(csv.reader(inf, skipinitialspace=True))
     data = [i for i in data if i] ## add to deal w/ blank lines in data file

会给你变量data的内容:

[['Current Date & Time',
  'Trans',
  'Elapsed Time',
  'Response Time',
  'Trans Rate',
  ''],
 ['Wed Jul 18 10:03:1', '5', '0.37 sec', '0.00 sec', '13.51 t/s', ''],
 ['Wed Jul 18 10:03:5', '5', '0.45 sec', '0.00 sec', '11.11 t/s', ''],
 ['Wed Jul 18 10:04:0', '5', '0.91 sec', '0.00 sec', '5.49 t/s', ''],
 ['Wed Jul 18 10:22:4', '12', '0.79 sec', '0.00 sec', '15.19 t/s', ''],
 ['Wed Jul 18 10:23:0', '12', '0.56 sec', '0.00 sec', '21.43 t/s', ''],
 ['Wed Jul 18 10:23:1', '12', '0.53 sec', '0.00 sec', '22.64 t/s', '']]

并且data[2][1](不是data[3][2]由于从零开始的索引)会给你

'5'

一个字符串,您可以将其转换为5整数int(data[2][1])

更新

添加data = [i for i in data if i]以处理输入中可能导致 OP 更新后出现问题的空白行。

于 2012-07-18T11:12:45.050 回答
3

看看pandas

>>> import pandas
>>> a = pandas.read_csv('input.csv')
>>> print a
  Current Date & Time   Trans  Elapsed Time  Response Time  Trans Rate  Unnamed: 5
0  Wed Jul 18 10:03:1       5      0.37 sec       0.00 sec   13.51 t/s         NaN
1  Wed Jul 18 10:03:5       5      0.45 sec       0.00 sec   11.11 t/s         NaN
2  Wed Jul 18 10:04:0       5      0.91 sec       0.00 sec    5.49 t/s         NaN
3  Wed Jul 18 10:22:4      12      0.79 sec       0.00 sec   15.19 t/s         NaN
4  Wed Jul 18 10:23:0      12      0.56 sec       0.00 sec   21.43 t/s         NaN
5  Wed Jul 18 10:23:1      12      0.53 sec       0.00 sec   22.64 t/s         NaN

>>> print a[' Trans'] * 2
0    10
1    10
2    10
3    24
4    24
5    24
Name:  Trans
于 2012-07-18T11:21:02.140 回答