我想这是一个非常简单的问题,但到目前为止对我而言……
我有一个带有这样的列的文件:

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


问题在于定界符不仅是一个空格,有时还是两个或三个空格。到目前为止,我什至无法使用嗅探器或方言例程进行修复...
有人知道如何导入列吗?

最佳答案

无需使用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()默认情况下将字符串拆分为空白,并且连续的空白字符将被视为单个定界符。

关于python - 如何使用python中的csv模块导入带有不规则分隔符的文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13127273/

10-12 02:44