我想这是一个非常简单的问题,但到目前为止对我而言……
我有一个带有这样的列的文件:
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/