【发布时间】:2018-07-12 18:55:19
【问题描述】:
我编写了一个程序,它读取文本文件的所有行,然后找到行中特定字符串以 Kbits 结尾的部分。对于发生这种情况的所有行,我将 Kbits 之前的部分(它是一个 int)放入一个列表中,然后我将其写入一个 csv 文件。问题是,当我写入 csv 文件时,Int 被拆分,每个数字都分配给 csv 文件中的一个新列。我有一个想法与我的打字方式有关,但我无法弄清楚。 我正在使用 Python 2.7。
txt 文件中的一行是这样的:
[2018-01-24 14:57:05,766] [ 5] 2.00-3.00 sec 872 KBytes 7140 Kbits/sec 2.714 ms 693/1326 (52%)
对于这个特定的行,我想在我的 .csv 文件中有一个 7140
我的代码如下:
lst = []
myfile = file('file.csv', 'wb')
txtfile = open('file.txt')
for line in txtfile:
line = str(re.findall('\d*\ Kbits', line))
if(line == "[]"):
r = 1
else:
new = line.replace(" Kbits", "")
lst.append(new)
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
for i in range(0, len(lst)):
wr.writerow(lst[i])
txtfile.close()
【问题讨论】:
-
您能否在
.csv文件中提供一些输入字符串以及您想要的内容?只需编辑问题。