1

我想这是一个非常简单的问题,但直到现在对我来说还没有......我有一个包含这样列的文件:

1 2  3 4  5   3
6 7 -8 9  0   5
4 8 -4 6 -7   8

我在python中有这段代码:

import csv

MyValues = [] #create an empty list
values = csv.reader(open('myfile', 'rb'), delimiter=' ')
for row in values:
    MyValues.append(row[5] if len(row)>4 else None)
print MyValues

问题是分隔符不仅仅是一个空格,有时是两个或三个空格。直到现在我无法修复,即使使用嗅探器或方言例程......有人知道如何导入列吗?

4

1 回答 1

5

而不是使用 csv 模块,只需str.split()在每一行上使用:

MyValues = []
for line in open('myfile'):
    row = line.split()
    MyValues.append(row[5] if len(row)>4 else None)
print MyValues

str.split()默认情况下以空格分割字符串,连续的空格字符将被视为单个分隔符。

于 2012-10-29T18:11:39.420 回答