问题
我有两个文件,我必须阅读并从中提取数据。 数据包含以下字符串:
162, 520,20121028, -28, 0
162, 520,20121029, 54, 0
162, 520,20121102, 48, 0
162, 520,20121103, 33, 0
162, 520,20121104, 12, 0
我需要将数据解压缩到一个变量中,我想将其添加到列表中,以便我可以对其进行分析。
我尝试了什么
hoog ='/Users/arkin/programming/TX_STAID000162.txt'
data_laag = open('/Users/arkin/programming/TN_STAID000162.txt')
temp = []
for line in data_laag:
niks = line.split(',')
temp.append(niks[3])
我想给第三个字符串命名为temp并将它们附加到列表但是我得到了错误
index out of range
分割的结果是:
[' 162', ' 520', '20121130', ' -28', ' 0\r\n']
答案 0 :(得分:0)
您的代码是正确的,因此您的输入文件有问题。 可能有一行只有2个逗号分隔值?或者只是一个空行?
在尝试获取不存在的数据之前,您可以使用正则表达式检查该行是否有效。下面是一个例子:
import re
regex = re.compile("([\s -]*\d*,){4}")
data_laag = open("data_file.txt")
temp = []
for line in data_laag:
if regex.match(line):
niks = line.split(',')
temp.append(niks[3].strip())
print temp
使用此代码,我得到输出
['-28', '54', '48', '33', '12']